Jetzt habe ich zur Abwchslung auch mal eine Frage (die erste in fünf Jahren phpfriend.de). Ich habe, leicht vereinfacht dargestellt, die folgenden Tabellen
Code:
+------------+ +--------------------+ +-------------------+
| PERSON | | PHONE_REACHABILITY | | PHONE |
|------------| |--------------------| |-------------------+
| last_name | | phone_id | | phone_id |
| person_id | | person_id | | phone_prefix |
| .... | +--------------------+ | phone_number |
+------------+ | phone_number_type |
| .... |
+-------------------+
Mit der Abfrage
Code:
SELECT
p.person_lastname,
t1.phone_number business,
t2.phone_number mobile
FROM
person p
LEFT JOIN
phone_reachability r1 ON p.person_id = r1.person_id
LEFT JOIN
phone_reachability r2 ON p.person_id = r2.person_id
LEFT JOIN
phone t1 ON r1.phone_id = t1.phone_id
LEFT JOIN
phone t2 ON r2.phone_id = t2.phone_id
WHERE
t1.phone_number_type = 1
AND
t2.phone_number_type = 3
AND
p.person_id = $pid";
erhalt ich nun die Geschäftsnummer (Typ 1) und die Mobile-Nr (Typ 3). Wenn es zu einer Person aber nur die eine oder andere Nummer gibt, erhalte ich gar nichts. Kann mir jemand sagen, wie ich auch diese Nummern erhalten kann