SQL-Statement select where not "folgende"

C

cocojack42

Ambitioniertes Mitglied
4
Hallo liebes Forum,

ich versuche grade ein SQL-Statement zusammenzubauen. Nur weiß ich nicht ob folgende möglich ist.

Ersteinmal die Situation:

es gibt Benutzer und es gibt Aufgaben.
Hat ein Benutzer eine Aufgabe erledigt, so wird in die Relation "erledigt" die Aufgaben-ID und ein Timestamp "wann" angelegt.

nun möchte ich alle Aufgaben abfragen die noch nicht "erledigt" sind. Ist folgendes möglich:

PHP:
SELECT * 
FROM Aufgabe 
WHERE Aufgabe.ID not IN ( SELECT AufgabeID FROM Erledigt );
 
Hi,

ich glaube, du musst noch ein wenig mehr schreiben.
Select * from Aufgabe auf where auf.ID not in (Select erl.AufgabeID from Erledigt erl WHERE erl.AufgabeID = auf.AufgabeID).
(ungetestet)

Oder so:
Select auf.* from Aufgabe auf, Erledigt erl Where auf.AufgabeID = erl.AufgabeID
(ungetestet)
 
Teste ich mal aus, ich bin momentan noch am entwerfen des Schemas.
Die Zeweite Lösung kommt mir aus Frühen Studienzeiten noch bekannt vor :D
 
So auf den ersten Blick sollte dein erstes Statement eigentlich funktionieren.
 
Auch nett ist das hier:

Code:
SELECT * FROM aufgaben
WHERE id IN (
  SELECT id FROM aufgaben EXCEPT (SELECT id FROM erledigt)
)
 

Ähnliche Themen

M
  • mafoma63
Antworten
2
Aufrufe
758
swa00
swa00
B
Antworten
3
Aufrufe
1.305
swa00
swa00
Chrilos
Antworten
9
Aufrufe
581
koje71
koje71
Zurück
Oben Unten