Abfrage für 1:N Beziehung

pegast

Neuer Benutzer
Beiträge
2
Code:
WHERE Child.ParentID=null
Hallo,
ich habe 2 Tabellen in einer 1:N Beziehung und möchte die Datensätze aus der Parenttabelle finden, für die es keine Einträge in der Childtabelle gibt.
Mit der folgenden Abfrage sehe ich, dass es Einträge in der Parenttabelle gibt, für die in der Childtabelle keine Datensätze vorliegen. Ich möchte aber NUR die entsprechenden Datensätze ausgeben.
Code:
SELECT *
FROM Parent
LEFT JOIN Child
ON Parent.ID=Child.ParentID
Wenn ich aber noch zB ein
Code:
WHERE Child.ParentID=null
hinzufüge wird nichts mehr ausgegeben.

Gruß Peter
 
Zuletzt bearbeitet:
Werbung:
Vergleich mit NULL geht halt nicht.

Code:
test=*# create table master(id int primary key);
CREATE TABLE
test=*# create table detail(m_id int references master);
CREATE TABLE
test=*# insert into master values (1);
INSERT 0 1
test=*# insert into master values (2);
INSERT 0 1
test=*# insert into detail values (1);
INSERT 0 1
test=*# select m.id, count(d.m_id) from master m left join detail d on m.id=d.m_id group by m.id;
 id | count
----+-------
  1 |  1
  2 |  0
(2 rows)

test=*# select m.id, count(d.m_id) from master m left join detail d on m.id=d.m_id group by m.id having count(d.m_id) = 0;
 id | count
----+-------
  2 |  0
(1 row)

test=*#
 
Werbung:
Zurück
Oben