Autor | Zpráva | ||
---|---|---|---|
darius1706 Profil |
#1 · Zasláno: 26. 1. 2013, 15:23:31 · Upravil/a: darius1706
Ahoj, mám následující tabulky:
tabulka a: id_a value_a nyní k ní tabulku: tabulka b: id_b id_a value jsou k sobě 1:N kdy id_a je v tabulce b jakoby cizí klíč (ale jen paírově, není to nastaveno). Potřebuji zjistit, všechny záznamy v tabulka_b, u kterých není odpovídající záznam v tabulka_a, tedy kdy ta vazba chybí. Jak to udělat? Už se tu s tím trápím půl dne. Díky Radek Paron, jedná se o MySQL. Radek |
||
juriad Profil |
#2 · Zasláno: 26. 1. 2013, 15:33:40
SELECT * FROM tabulka_b b WHERE b.id_a NOT IN (SELECT DISTINCT a.id_a FROM tabulka_a a) |
||
darius1706 Profil |
#3 · Zasláno: 26. 1. 2013, 15:56:57
juriad:
Děkuji velmi, jako obvykle jednoduché řešení řeší problém a já tu půl dne řeším zběsilosti. Díky moc!!! |
||
Tori Profil |
#4 · Zasláno: 26. 1. 2013, 19:03:55
darius1706:
„Potřebuji zjistit všechny záznamy v tabulka_b, u kterých není odpovídající záznam v tabulka_a“ Dá se to říct i přesně tak, jak jste to napsal: select b.* from tabulka_b b where not exists (select * from tabulka_a a where b.id_a = a.id_a) left join .. where a.id_a is null ) si MySQL zoptimizuje na not exists.
|
||
Časová prodleva: 11 let
|
0