Autor Zpráva
Pan X
Profil
Zdravím,
mám problém se spojením 3 tabulek v databázi

Používám tento zápis:
SELECT 
	suroviny.mnozstvi,	
	surovina.nazev AS surovina,
	jednotka.nazev AS jednotka
FROM 
	suroviny
JOIN
	surovina ON surovina.id_surovina = suroviny.id_surovina
JOIN
	jednotka ON jednotka.id_jednotka = suroviny.id_jednotka
WHERE 
	id_receptu = 4


Za normálních okolností všechno funguje a veci to vypisuje tak, jak má

600g kuřecích prs
2 lžíce tatarské omáčky
atd...

Ale problém dělají položky, kterým chybí jedna (množství) nebo druhá (jednotka) hodnota.
Např. sůl má pouze název suroviny a nemá jednotku což znamená že se v tomto sql dotazu nevypíše.

Může někdo poradit, jak upravit tento sql aby se vypsala všechna data (i ta, která mají v některých sloupcích uloženo null)

Přikládám ukázku databazá: http://work.zaruba-ondrej.cz/forums/db_data.png

Jak je vidět sql dotaz vypíše pouze údaje které nemají v místě suroviny.id_surovina 0
Předem díky
PostCC
Profil
Pan X:
Zajímá vás rozdíl mezi JOIN a LEFT JOIN. Oproti vámi použitému zápisu LEFT join vybere všechny odpovídající položky z levé tabulky bez ohledu na to, zda v pravé tabulce existuje či neexistuje odpovídající záznam.
Tori
Profil
JOIN je totéž jako INNER JOIN -> potřebujete LEFT JOIN.
Pan X
Profil
Díky

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0