Hallo
kontakttyp
1 | telefon
2 | mobiltelefon
3 | emailperson_kontakt
personid | kontaktid | wert
1 | 1 | 069...
1 | 2 | 0151...
"Finde alle Personen, für die kein EMail-Eintrag existiert"
Bei zwei Tabellen würde ich's mit einem LEFT OUTER JOIN von t_person_kontakt nach z.B. t_email e nebst WHERE e.email IS NULL machen (ist das eigentlich die einzige Möglichkeit?) aber wie ginge das eigentlich im obigen Fall?
Irgendwie geht's bestimmt, aber ich seh's grad nicht.
Ganz genauso :-) Mit einem LEFT OUTER JOIN:
SELECT
p.vorname,
p.nachname,
...
FROM
personen p
LEFT OUTER JOIN
person_kontakt pk
ON
p.personid = pk.personid
AND
pk.kontaktid = 3 -- Betrachte nur E-Mail-Adressen
WHERE
pk.wert IS NULL
Wichtig ist, dass die Bedingung in der JOIN-Bedingung steht - und nicht etwa
in der WHERE-Klausel.
Freundliche Grüße
Vinzenz