Autor Zpráva
suvel
Profil
Zdravím a prosím o pomoc se stavením dotazu (nějak jsem se zasekl...):
V db mysql mám tabulky

tbl1, ve které řádek `cisla` obsahuje třeba 1,2,4,5
a tabulku tbl2, ve které řádek `cisla` obsahuje třeba 2,4.

A jako výsledek dotazu potřebuju všechna čísla z tbl1, která NEOBSAHUJE tbl2, tedy v tomhle případě by měl výsledek být 1,5.

Předem moc děkuju za nakopnutí.
Alphard
Profil
Z dotazu si nejsem úplně jistý, všechna ta čísla jsou uložena v jediném řádku takto oddělena čárkou?
suvel
Profil
Omlouvám se za nepřesný popis. Sloupec je `cisla` a jednotlivé řádky toho sloupce obsahují jednotlivé hodnoty:
tbl1.cisla
1
2
4
5

tbl2.cisla
2
4
Alphard
Profil
Nabízí se
select * from tbl1 where cisla not in (select cisla from tbl2)

Starší verze MySQL mají ale určité výkonové problémy s tímto typem dotazů, takže pro ně se doporučuje přepsat to na join. Připojít druhou tabulku s left join tbl2 using cisla a vyberte záznamy, kde je tbl2.cisla is null.
suvel
Profil
Díky :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: