Zadejte hledaný výraz...

Spojenie dát zo 4 tabuliek

Tomáš
verified
rating uzivatele
(27 hodnocení)
31. 12. 2009 15:44:23
Zdravím, potreboval by som spojiť stĺpce zo 4 rôznych tabuliek. Tabulky:
clanky - obsahuje okrem iných aj stlpce rubrika, podrubrika a autor, tieto stlpce sú zadané číselne, obsahujú ID záznamu v inej príslušnej tabuľke.
rubriky, podrubriky, autori - stlpec id je vlastne rovný stlpcu rubrika (resp. podrubrika, autor) v tabuľke články
Ako mám vytiahnuť dáta z týchto tabuliek, ak chcem k údajom z tabuľky články získať aj slovný názov rubriky, podrubriky a autora (tieto dáta sú uložené v príslušných tabuľkách).
Dúfam, že som to napísal zrozumiteľne.
Vopred ďakujem.
31. 12. 2009 15:44:23
https://webtrh.cz/diskuse/spojenie-dat-zo-4-tabuliek#reply429498
tom11111
verified
rating uzivatele
31. 12. 2009 18:20:54
Pokud jsou pole rubrika, podrubrika a autor povinné, tj. vždy něčím vyplněné (nesmí být NULL):
SELECT clanky.*, rubriky.nazev, podrubriky.nazev, autori.jmeno FROM clanky, rubriky, podrubriky, autori WHERE clanky.rubrika = rubriky.id AND clanky.podrubrika = podrubriky.id AND clanky.autor = autori.id
Pokud jsou pole nepovinné, tj. obcas mohou obsahovat NULL, je to napohled trochu složitější. Použije se LEFT OUTER JOIN:
SELECT clanky.*, rubriky.nazev, podrubriky.nazev, autori.jmeno FROM clanky LEFT OUTER JOIN rubriky ON (clanky.rubrika = rubriky.id) LEFT OUTER JOIN podrubriky ON (clanky.podrubrika = podrubriky.id) LEFT OUTER JOIN autori ON (clanky.autor = autori.id)
Tohle funguje pro oba pripady. Snad jsem neudelal nejakej preklep.
31. 12. 2009 18:20:54
https://webtrh.cz/diskuse/spojenie-dat-zo-4-tabuliek#reply429497
Tomáš
verified
rating uzivatele
(27 hodnocení)
31. 12. 2009 18:38:56
Ďakujem, veľmi mi to pomohlo. Ja som to skúšal tým prvým spôsobom, ale keďže položka podrubrika nemusela byť u každého článku vyplnená, tak mi to nefungovalo..
31. 12. 2009 18:38:56
https://webtrh.cz/diskuse/spojenie-dat-zo-4-tabuliek#reply429496
Pro odpověď se přihlašte.
Přihlásit