Pereiti prie turinio

MYSQL uzklausa - nesigauna


Rekomenduojami pranešimai

Sveiki, bandau parašyti mysql užklausą (darau paeiliui dalimis). Kaip man reiktų sujungti šias užklausas?

 

 

Lenteles:

 

UZSAKO

UZSAKYMAS

SANDELIO_PREKES

 

 

SQL UŽKLAUSOS

 

 

1. Visos pirkėjo pirktos prekės:

 

SELECT UZSAKO.KOMPL_NR

 

FROM (UZSAKYMAS INNER JOIN UZSAKO ON

UZSAKYMAS.UZSAK_NR = UZSAKO.UZSAK_NR )

 

WHERE UZSAKYMAS.Pirk_NR= 11

 

 

2. Visos prekes kurios dalyvavo uzsakyme ir yra sandelyje ir yra daugiau uz 0.

 

SELECT SANDELIO_PREKES.KOMPL_NR,

 

FROM (SANDELIO_PREKES INNER JOIN UZSAKO ON

SANDELIO_PREKES.KOMPL_NR = UZSAKO.KOMPL_NR)

 

WHERE (SANDELIO_PREKES.KIEKIS >0)

Redagavo Afex
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Padaryk sql dumpą ir parašyk, ką nori gauti.

Labai čia viskas keistai pas tave su tuo pirmuoju inner join'u iš kurios nėra jokios prasmės taip atrodo.

 

 

Reikia patikrinti, kuriuose sandėliuose pakanka nestruktūrinių prekių laisvojo rezervo to paties pirkėjo užsakymams vykdyti.

 

Paiskinimas:(atrinkti visas pasirinkto pirkejo prekes kurias jis kazkada buvo uzsakes ir patikrinti ar sandėlyje pakanka, ar nera jos jau rezervuotos is sandelio anksciau)

 

1.Pirma susirandu pagal pirkeja visus jo uzsakymus

 

2. Tada tikrinu kurios prekes dalyvavo užsakyme ir kuriu sandelyje yra daugiau nei 0 (reikai prideti kad butent kazkurio pirkejo - sujungti 1 ir 2 uzklausa)

 

3.Toliau reikai kazkaip atimti visas rezervuotas prekes ( isminusuoti ju kiekius).

 

Mano 3 kodukas lyg kazkur yra klaida (sandelio prekes minus rezervas):

SELECT (SANDELIO_PREKES.KIEKIS - REZERVUOJA.REZ_KIEKIS)

FROM SANDELIO_PREKES INNER JOIN REZERVUOJA ON SANDELIO_PREKES.KOMPL_NR = REZERVUOJA.KOMPL_NR;

 

Galiausei reikia sujungti visas 3 uzklausas.

post-5283-0-34189800-1402256646_thumb.png

Redagavo Afex
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Magistrantūroj KTU informatikos fakultete jau reiktų šiek tiek mokėti SQL. Šiaip ar taip nėra ko stresuot dėl šito modulio.

 

 

Pasidariau, taciau uztrukau, nes ACCESE siektiek skiresi nuo MYSQL uzklausos, Kaip minejau, prasiau pagalbos del laiko stokos.

 

 

 

SELECT dbo_IFM32_P309_UZSAKYMAS.Pirk_NR, dbo_IFM32_P309_SANDELIO_PREKES.KOMPL_NR, GALIMAS_Prekiu_kiekis, dbo_IFM32_P309_SANDELIO_PREKES.SAND_ID

 

FROM (

 

SELECT dbo_IFM32_P309_SANDELIO_PREKES.SAND_ID, dbo_IFM32_P309_SANDELIO_PREKES.KOMPL_NR, (dbo_IFM32_P309_SANDELIO_PREKES.KIEKIS-

 

IIF(ISNULL (dbo_IFM32_P309_REZERVUOJA.REZ_KIEKIS), 0, dbo_IFM32_P309_REZERVUOJA.REZ_KIEKIS))

 

AS GALIMAS_Prekiu_kiekis

 

 

FROM dbo_IFM32_P309_SANDELIO_PREKES LEFT OUTER JOIN dbo_IFM32_P309_REZERVUOJA ON (dbo_IFM32_P309_SANDELIO_PREKES.KOMPL_NR = dbo_IFM32_P309_REZERVUOJA.KOMPL_NR AND dbo_IFM32_P309_SANDELIO_PREKES.SAND_ID = dbo_IFM32_P309_REZERVUOJA.SAND_ID)

WHERE (dbo_IFM32_P309_SANDELIO_PREKES.KIEKIS >0)) AS dbo_IFM32_P309_SANDELIO_PREKES

 

INNER JOIN (

 

SELECT dbo_IFM32_P309_UZSAKYMAS.Pirk_NR, dbo_IFM32_P309_UZSAKO.KOMPL_NR

FROM dbo_IFM32_P309_UZSAKYMAS INNER JOIN dbo_IFM32_P309_UZSAKO ON dbo_IFM32_P309_UZSAKYMAS.UZSAK_NR = dbo_IFM32_P309_UZSAKO.UZSAK_NR

WHERE dbo_IFM32_P309_UZSAKYMAS.Pirk_NR= 11

) AS dbo_IFM32_P309_UZSAKO

 

ON dbo_IFM32_P309_UZSAKO.KOMPL_NR = dbo_IFM32_P309_SANDELIO_PREKES.KOMPL_NR;

 

 

 

DB teks panaktineti kol atasaita pabaigsiu sutvarkyti.

Redagavo Afex
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Esu tikras, kad duomenis talpinai MS SQL serveryje, tad ir sintaksę reikia naudoti atitinkamą.

 

Dėl ataskaitos - reikia keleto DB-Main ekranvaizdžių bei kelių UML diagramų (panaudojimo atvejų, veiklos, būsenų kaitos ir klasių). Jeigu nori gaut 10, turimą duombazę dekompozicijos/sintezės metodu transformuoji į 4 norminę formą. Jeigu užtenka 9 - užteks prieš tai išvardintų dalykų (žinoma, jeigu viską esi atsiskaitęs).

 

Papasakok kaip sekėsi. :)

Redagavo Julykaz
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Paradauskas? :)

 

Suprantama, bakalauras. Žmonės dažnai ten įstoja, kad nenuvilti tėvų ir panašiai. Bet į magistratūrą stot - tai jau turi būti pačio pasirinkimas, jeigu pats domiesi ir nori labiau įsigilinti. O čia gaunasi, kad įstojai į magistratūrą, o pats daryti nenori, tai kam reikėjo? Kažkas su logika persikerta. Čia gi nėra kažkokio kosmoso, paprastos užklausos. Nereikia čia JOIN'inti su subselect'ais.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...