Autor Zpráva
itar
Profil
Ahoj,

problém, ktorý chcem opísať zámerne zjednoduším.
Mám dve tabuľky. Každá obsahuje iba jeden stlpec s nazvom id_polozky.

Tabuľka 1: id_polozky
Tabuľka 2: id_polozky

Z tabuľky 1 potrebujem vybrať iba také riadky, ktoré sa v tabuľke 2 nenachádzajú.
To znamená ak tabuľky budú obsahovať tieto hodnoty:

Tabuľka 1: 1,2,3,4
Tabuľka 2: 2,3,5,6

tak potrebujem vybrať iba riadky z tabuľky 1, kde id_polozky bude 1 a 4.
Skúšal som to pomocou select a join, ale nejak sa mi nedarí. Ďakujem za radu.
pcmanik
Profil
itar:
SELECT * FROM tabulka1 t1 WHERE t1.id_polozky NOT IN (SELECT t2.id_polozky FROM tabulka2 t2)
juriad
Profil
Varianta pomocí JOINu:

SELECT t1.id_polozky
FROM tabulka t1
LEFT JOIN tabulka2 t2 ON t1.id_polozky = t2.id_polozky
WHERE t2.id_polozky IS NULL
itar
Profil
Ďakujem za odpovede. Vybral som si riešenie pomocou JOINu a funguje to.

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: