Autor Zpráva
Mastodon
Profil *
Zdravíčko,

řeším tu takový problém, kdy mám v DB tři tabulky a potřebuji je propojit na základě podmínky. Pro lepší pochopení asi uvedu příklad:

Tabulka A: zde je nějaké ID, název, ID_spojivane_tabulky, typ

Tabulka B: ID, nazev,......

Tabulka C: ID, nazev,.....

a já potřebuji docílit toho, aby při spojování byla střídavě připojená tabulka B nebo C podle hodnoty typ v tabulce A. Ty tabulky B a C nemůžou být sloučený, obsahujou úplně jiný sloupce, jen tyto dva jsou shodný.

takže ptřebuju, do toho dotazu nějak dostat tohle: if (A.typ==1) JOIN B ..... a if (A.typ==2) JOIN B ....

snad je to srozumitelné. Hledal jsem na netu i tady, ale zatím se mi to nepovedlo sestrojit... Nevíte někdo? Byl bych moc vděčný
Alphard
Profil
nešlo by to takhle?
select if(A.typ = "xxx",B.nazev,C.nazev) from A left join B on A.ID_spojivane_tabulky = B.id left join C on A.ID_spojivane_tabulky = C.id
Mastodon
Profil *
Díky, nakonec jsem to vyřešil úplně jinak... Všechno zůstalo v jednom dotazu a tak funkce, kterou jsem potřeboval zůstala zachována a vše funguje, jak má..

Každopádně díky!
Toto téma je uzamčeno. Odpověď nelze zaslat.