Autor | Zpráva | ||
---|---|---|---|
scorpion Profil * |
#1 · Zasláno: 22. 4. 2010, 10:48:52
Ahoj, mám 4 tabulky: users, doprava,hostina,dary. V každé tabulce je jako cizí klíč sloupec idUser a k tomu nějaké další info... A potřebuju vypsat řádek, ve kterém bude přehled všeho, co si daný user vybral/nevybral(má vyplněno/nevyplněno) ze všech tabulek.
Něco jako idUser Doprava Hostina Dary 1 Vlastní NULL Auto Díky |
||
__construct Profil |
#2 · Zasláno: 22. 4. 2010, 10:58:39
Použi JOIN ..
SELECT * FROM users JOIN doprava ON users.idUser = doprava.idUser JOIN hostina ON users.idUser = hostina.idUser JOIN dary ON users.idUser = dary.idUser |
||
scorpion Profil * |
#3 · Zasláno: 22. 4. 2010, 11:07:09
__construct:
OK, ale to funguje jenom když v každé tabulce je ten dany idUser zastoupen..? když tam přidám WHERE users.idUser=1 a v jedné z těch tabulek nebude, tak se nevypíše nic..... |
||
__construct Profil |
#4 · Zasláno: 22. 4. 2010, 11:09:45 · Upravil/a: __construct
v tom prípade použi LEFT OUTER JOIN :
SELECT * FROM users LEFT OUTER JOIN doprava USING( idUser ) -- klauzulu USING použi iba ak sa stĺpce volajú rovnako, inak použi ON ako v predošlom príklade LEFT OUTER JOIN hostina USING( idUser ) LEFT OUTER JOIN dary USING( idUser ) |
||
scorpion Profil * |
#5 · Zasláno: 22. 4. 2010, 11:18:46
__construct:
Díky. takhle to je pecka |
||
Časová prodleva: 14 let
|
0