Portál AbcLinuxu, 12. května 2025 16:59
hlavni_tabulka: id_teto_tabulky id_v_tabulce1 id_v_tabulce2 jine_id_v_tabulce2 polozka_teto_tabulky dalsi_polozka_teto_tabulkyV pomocne tabulce1 mam pod prislusnym id nejakou polozku, kterou potrebuji dosadit do vysledku hledani.
tabulka1: id nejaka_polozkaV pomocne tabulce2 mam take pod prislusnym id nejakou polozku, kterou chci dosadit do vysledku hledani, ale z hlavni tabulky mi referuje do teto pomocne tabulky jeste jiny sloupec a to na jine id nez ten prvni, takze na kazdem radku vysledneho vypisu chci mit ve dvou sloupcich rozdilne polozky z te same pomocne tabulky.
tabulka2: id nejaka_polozkaVysledek dotazu by mel vypadat takto:
pozadovany_vysledek: id_teto_tabulky id_v_tabulce1 + polozka_z_te_tabulky_odpovidajici_tomuto_id id_v_tabulce2 + polozka_z_te_tabulky_odpovidajici_tomuto_id jine_id_v_tabulce2 + polozka_z_te_tabulky_odpovidajici_tomuto_jinemu_id polozka_teto_tabulky dalsi_polozka_teto_tabulkyIdealne by se mel vysledek ziskat jedinym sql dotazem, asi JOIN nebo poddotazem, ale nejak jsem se v tom zamotal, nemeli byste nekdo nejaky tip co s tim? Predem diky.
Řešení dotazu:
JOIN
s tou tabulkou2
dvakrát
select
ht.id_teto_tabulky,
ht.id_v_tabulce1,
t1.nejaka_polozka,
ht.id_v_tabulce2,
t2a.nejaka_polozka,
ht.jine_id_v_tabulce2,
t2b.nejaka_polozka,
ht.polozka_teto_tabulky,
ht.dalsi_polozka_teto_tabulky
from
hlavni_tabulka ht,
tabulka1 t1,
tabulka2 t2a,
tabulka2 t2b
where
ht.id_v_tabulce1 = t1.id
and ht.id_v_tabulce2 = t2a.id
and ht.jine_id_v_tabulce2 = t2b.id
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.