Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: MySQL: Kaikki tuotteet ja vain tietyn varaston saldo

Sivun loppuun

sprawl [28.05.2015 10:42:21]

#

SELECT
tuotteet.ID,
tuotteet.koodi,
tuotteet.nimi,
tuotteet.alv,
tuotteet.hinta,
varasto_tuote.varasto_id,
varasto_tuote.tuote_id,
varasto_tuote.kpl,
varasto_tuote.alaraja,
varastot.ID,
varastot.paikkakunta
FROM tuotteet
LEFT JOIN varasto_tuote ON varasto_tuote.tuote_id=tuotteet.ID
LEFT JOIN varastot ON varastot.ID=varasto_tuote.varasto_id
WHERE varastot.ID='".$user['varasto_id']."'
ORDER BY tuotteet.koodi ASC

mitäs tuohon pitää muuttaa että tuotteet taulusta tulostetaan kaikki tuotteet oli niitä varastossa tai ei. Nyt jos vaikka varaston 1 saldoissa on vaikka 5kpl tuotteita, se tulostaa vain ne tuotteet, mutta tarve olisi tulostaa myös kaikki tuotteet samaan taulukkoon 0kpl tiedolla.

Lebe80 [28.05.2015 13:00:45]

#

Ja varmaankaan varasto_tuote-taulussa ei ole rivejä, jos tuotteen kpl-määrä on 0 ?

sprawl [28.05.2015 13:56:31]

#

juu ei.

Eli tuotteet taulussa on kaikkien tuotteiden tiedot.
varastot taulussa on varastojen nimet ja paikkakuntatiedot.
varasto_tuote taulussa on kunkin varaston ja tuotteen kappalemäärät ym tiedot.

Teuro [28.05.2015 14:00:56]

#

Miksi varaston id-numero laitetaan where-ehdoksi? Jos haluat listata kaikkien varastojen kaikki tuotteet ei kannata ehdoksi mitään.

sprawl [28.05.2015 14:09:20]

#

Koska on tarkoitus tulostaa kyseisen varaston varastosaldot sekä kaikki tuotteet.

Metabolix [28.05.2015 15:52:02]

#

Kun varastoa koskeva ehtosi on WHERE-kohdassa, kyselyyn tulevat vain ne rivit, joilla ehto toteutuu. Jos haluat kaikki tuotteet mutta vain tietyn varaston saldon, ehto kuuluu jommankumman liitoksen ON-kohtaan.

sprawl [28.05.2015 16:48:33]

#

eli voin laittaa left join lausekkeisiin omat where lausekkeet?

Metabolix [28.05.2015 20:56:47]

#

Ei, vaan LEFT JOINissa on tuo ON-kohta, jossa sinulla on jo yksi ehto mutta johon voi laittaa kyllä kaikenlaisia muitakin ehtoja.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta