speziele Abfrage
lachesis
- datenbank
Hallo,
ich bin ein ziemlicher Frischling in Bezug auf MYSQL, deshalb meine (wahrscheinlich einfach zu beantwortende Frage)
Ich hab gesucht, aber leider das Problem, dass ich wohl nicht die richtigen Suchbegriffe kenne :-(
Also meine Problem:
Ich habe eine Tabelle mit einer Zuordnung von Stundeneinträgen zu Projektnummern. Da viele Stundeneinträge zu einer Projektnummer gehören können sind die in einer zweiten Tabelle gespeichert und in der ersten stehen nur die jeweiligen IDs der Projektnummern.
Jetzt möchte ich eine Liste der Projektnummern, für die noch nie Stunden eingetragen wurden...
Wie muß das SQL Statement dazu aussehen?
Tbl 1
ID Stunden Projektnummer_id
Tbl2
ID Projektnummer
Danke für eure Hilfe
Hi,
Jetzt möchte ich eine Liste der Projektnummern, für die noch nie Stunden eingetragen wurden...
beschäftige Dich anhand der MySQL-Doku mit DISTINCT und MINUS (z.B.).
Cheatah
Hi lachesis
Jetzt möchte ich eine Liste der Projektnummern, für die noch nie Stunden eingetragen wurden...
SELECT Projektnummer
FROM Tbl2
LEFT OUTER JOIN Tbl1 ON(Tbl2.ID = Tbl1.Projektnummer_id)
WHERE Tbl1.ID IS NULL
Der Trick ist, die zusammen zu joinen mit einem Left Outer Join, alle Projekte die keine Stunden haben, kriegen somit bei Stunden ein NULL und die wollen wir haben. Syntax musst du evtl noch nachgucken wie IS NULL ganz genau heisst. Die Verknüpfungsbedingungen ebenfalls, da bin ich nicht 100% schlau geworden aus deiner Erklärung
Gruss Daniela