ugrás a tartalomhoz

LEFT JOIN

s_volenszki · 2009. Már. 12. (Cs), 16.08
Van két táblám, "left" és "right". Összekapcsolom "left"-et és "right"-ot LEFT JOIN-nal, azonban nem minden "left" táblában található rekordhoz lesz találat "right" táblában. Ahol nincs találat, ott a "right" táblából származó mezők értéke NULL lesz.

Például lehetnek a "left" táblában felhasználók a "right" táblában pedig csoport azonosítók, azonban nem minden felhasználó csoportos. Hogyan kérdezzem le az összes olyan felhasználót, aki nem csoportos, azaz nincs a "left" táblá adott rekordjaihoz tartozó rekord a "right" táblában, úgy, hogy a lekérdezésben csak a WHERE-től módosíthatok?

Gondoltom, de nem:

SELECT users.username, groups.groupid FROM users LEFT JOIN groups ON groups.users_iduser = users.iduser WHERE groups.groupid = NULL
 
1

ISNULL

Poetro · 2009. Már. 12. (Cs), 16.19
mysql> SELECT NULL = NULL, ISNULL(NULL);
+-------------+--------------+
| NULL = NULL | ISNULL(NULL) |
+-------------+--------------+
|        NULL |            1 |
+-------------+--------------+
1 row in set (0.00 sec)
2

Hihetetlen!

s_volenszki · 2009. Már. 12. (Cs), 16.36
Hihetetlen, hogy mennyire egyszerű!

Köszönöm!