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
;-)
Ja, ok, person\_kontakt ist m:n zwischen person
( die aber oben nicht steht!!! sach ich ma zu meiner Ehrenrettung ;) )
und kontakttyp.
Ja, ok, ich hätte sehen müssen, dass personid kein PK sein kann..
ja, ok, ich bin ja schon ruhig...
;-)
Danke und schönes WE!
Solkar