Autor Zpráva
xlifer
Profil
Obecně mi jde o to, že potřebuji vybrat záznamy z tabulka_1, které nejsou podle idéčka zapsané v tabulka_2.

Nevím jak to přesně více popsat, tak uvedu konkrétní SQL dotaz (záměr):

(* Dotazy jsou pro MySQL)

SELECT tabulka_1.nazev FROM tabulka_1 WHERE tabulka_1.stav > 0 AND (SELECT tabulka_2.idecko FROM tabulka_2 WHERE tabulka_2.idecko != tabulka_1.idecko) IS NOT NULL;

Jde mi o testování přes vnořený SELECT jako podmínka.

Když to napíšu přes LEFT JOIN, tak mi to hodí nesmyslný počet záznamů, resp. nepracuje to správně:

SELECT tabulka_1.nazev FROM tabulka_1 LEFT JOIN tabulka_2 ON tabulka_2.idecko != tabulka_1.idecko WHERE tabulka_1.stav > 0

Snad je to nějak k pochopení...
Kajman
Profil
SELECT tabulka_1.nazev
FROM   tabulka_1
WHERE  tabulka_1.stav > 0
       AND tabulka_1.idecko NOT IN (SELECT tabulka_2.idecko FROM tabulka_2);
       
 SELECT tabulka_1.nazev
FROM   tabulka_1
LEFT   JOIN tabulka_2
ON     tabulka_2.idecko = tabulka_1.idecko
WHERE  tabulka_1.stav > 0
       AND tabulka_2.idecko IS NULL;
xlifer
Profil
Kajman:

Díky moc.
xlifer
Profil
Ten první mi vyhazuje chybu, ale ten druhý SQL dotaz funguje dobře.

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: