André Laugks: MySQL Abfrage über 2 Tabellen

Beitrag lesen

Hallo!

// 3.
SELECT vorh.std FROM vorh LEFT JOIN verg ON (vorh.std=verg.std) WHERE verg.pers=4711 AND verg.std IS NULL;

Fall 3 zeigt kein Ergebnis. Sorry, der erhoffte Lerneffekt ist ausgeblieben.

Ich hatte es ungetestet geschrieben:

SELECT vorh.std FROM vorh LEFT JOIN verg ON (vorh.std=verg.std AND verg.pers=4711) WHERE verg.std IS NULL;

Das (... verg.pers=4711) im ON steht ist IMHO nach Standard nicht korrekt, funktioniert aber.

Wenn Du die Tabelle folgendemaßen erweiterst, also was eine Person absolute an Stunden haben kann...

std    pers
---
1      4711
2      4711
3      4711
4      4711
5      4711
1      4711
2      4711
3      4711
4      4711
5      4711

geht es auch so:

SELECT vorh.std, vorh.pers, verg.std, verg.pers
FROM vorh LEFT JOIN verg ON (vorh.std=verg.std AND vorh.pers=verg.pers) WHERE vorh.pers=4711 AND verg.std IS NULL;

MfG, André Laugks

--
L-Andre @ gmx.de