André Laugks: MySQL Abfrage über 2 Tabellen

Beitrag lesen

Hallo!

In Tabelle "vorh" sind die auf einer Veranstaltung verfügbaren Stunden eines Stundenplans:

std

1
2
3
4
5

in Tabelle "verg" die bereits für 300 Personen vergebenen:

pers std


4711 2
4711 4
4712 2
4712 5
...

Wo ist mein Denkfehler?

Der Denkfehler ist, daß Du Dir nicht alle Stunden anzeigen zu läßt, die es nicht in der Tabelle "verg" gibt.

Schaue Dir mal nach und nach die Ergebnisse der SQL-Statements an.

// 1.
SELECT vorh.std FROM vorh LEFT JOIN verg ON (vorh.std=verg.std);

// 2.
SELECT vorh.std FROM vorh LEFT JOIN verg ON (vorh.std=verg.std) WHERE verg.pers=4711;

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

MfG, André Laugks

--
L-Andre @ gmx.de