Datenbankabfrage gesucht
Matthias Apsel
- datenbank
Hallo alle,
Es gibt Aufgaben A und eine Ergebnistabelle E, in der die AufgabenID als Fremdschlüssel steht.
Ich suche alle Aufgaben, die es in der Tabelle A aber nicht in Tabelle E gibt.
Zielführend ist
SELECT a.ID, e.AufgabenID
FROM Ergebnisse e RIGHT JOIN Aufgaben a
ON a.ID = e.AufgabenID
GROUP BY a.ID
Allerdings liefert mir das folgende Ergebnismenge
|ID|AufgabenID |---| |25|NULL |26|NULL |27|27 |28|28
Es werden also alle existierenden Aufgaben gezeigt. Wie muss ich jetzt verfahren, um nur die angezeigt zu bekommen, bei denen in der rechten Spalte NULL steht?
So, jetzt lass ich die Frage stehen, obwohl ich selbst eine Lösung gefunden habe. Vielleicht gibts ja auch noch was clevereres ;-)
Bis demnächst
Matthias
Hallo Matthias Apsel,
Zielführend ist
SELECT a.ID, e.AufgabenID FROM Ergebnisse e RIGHT JOIN Aufgaben a ON a.ID = e.AufgabenID GROUP BY a.ID
eine Lösung:
SELECT a.ID, e.AufgabenID
FROM Ergebnisse e RIGHT JOIN Aufgaben a
ON a.ID = e.AufgabenID
WHERE e.AufgabenID IS NULL
GROUP BY a.ID
Bis demnächst
Matthias
Tach!
Ich suche alle Aufgaben, die es in der Tabelle A aber nicht in Tabelle E gibt.
Eine correlated subquery mit NOT EXISTS würde ich nehmen.
dedlfix.
Hallo dedlfix,
Eine correlated subquery mit NOT EXISTS würde ich nehmen.
SELECT a.ID, e.AufgabenID
FROM Aufgaben a
WHERE NOT EXISTS (
SELECT * FROM Ergebnisse e
WHERE a.ID = e.AufgabenID
)
GROUP BY a.ID
Passt.
Bis demnächst
Matthias