dedlfix: JOIN mit zwei Bedingungen

Beitrag lesen

echo $begrüßung;

» Man muss also die email-Tabelle noch ein zweites Mal, diesmal aber mit Alias joinen und dann die erste Bedingung auf email.adresse und die zweite auf [aliasname].adresse testen lassen.
und wenn einer dann drei E-Mail-Adressen hat, muss ich drei JOINS machen? Und wenn ich gar nicht weiß, wie viele E-Mails Jemand hat? Dass das so umständlich ist...

Da du gezielt nach Adressen suchst und nicht einfach nur "User mit n beliebigen Adressen" haben willst, wäre das eine Möglichkeit. Eine andere ist, mit WHERE adresse=a OR adresse=b OR ... erstmal die Datensätze auf die interessierenden n Email-Adressen einzuschränken. Jeder Satz dieser Datenmenge enthält eine Adresse und einen Verweis auf den User. Ein User, der n Mal auftaucht, hat also alle n Adressen. Einen der weniger als n Mal auftaucht willst du nicht haben. Die Anzahl zu ermitteln, kannst du über den User gruppieren und mit der HAVING-Klausel die User rausfiltern, die n Mal auftauchen.

Ich will die DB ja fragen: Gibts es einen User der "Name" heißt und E-Mail_Adresse "Adresse1", "Adresse2", etc. hat (unbekannte Anzahl der E-Mail-Adressen nach der ich suche )

Den Namen noch mit reinzubringen sollte nicht das Problem darstellen. Auf jeden Fall musst du die Abfrage je nach Bedarf (sprich: Anzahl der Adressen) umschreiben.

echo "$verabschiedung $name";