Mailinglisten-Archive |
Hallo,
Andreas Stagl wrote:
> hi leute,
>
> hab eine frage zu JOIN. ich hab folgende 2 tabellen:
>
> tabelle: personen
> person_id person_name
> int(10) varchar(30)
> PK
>
> tabelle: email-addys
> email_id person_id email_addy
> int(10) int(10) varchar(50)
> PK
>
> frage 1:
> wenn ich jetzt z.b. 5 personen-records, aber nur 2 email-records hab
> (weil eben 3 personen keine email addy haben), wie frag ich das ab, dass
> ich alle 5 personen als result bekomme (wobei eben bei dreien die
> email-addy leer ist)? sollte dann in etwa so aussehen:
>
> person_name email_addy
> name1 email1
> name2
> name3
> name4 email2
> name5
>
SELECT p.person_name,
e.email_addy
FROM personen AS p LEFT JOIN
email-addys AS e
ON p.person_id=e.person_id
> frage 2:
> genau das gegenteil... 2 personen-records und 5 email-records (wenn z.b.
> 1 der beiden personen 5 unterschiedliche email addys hat).. wie frag ich
> das ab, um alle 5 email-addys zu bekommen? sollte dann in etwa so
> aussehen:
>
> person_name email_addy
> name1 email1
> name2 email2
> name2 email3
> name2 email4
> name2 email5
genau umgekehrt:
SELECT p.person_name,
e.email_addy
FROM email-addys AS e LEFT JOIN
personen AS p
ON p.person_id=e.person_id
>
> wäre toll, wenn es dafür ein statement gibt, dass mit beiden oben
> genannten szenarien umgehen kann.
>
> hab bisher immer mit "WHERE tabelle1.feldX = tabelle2.feldY" gearbeitet,
> aber in diesem fall funktioniert das klarerweise nicht. aus dem online
> mysql-manual bin ich bzgl JOIN-syntax auch nicht wirklich schlau geworden.
>
> schon mal danke im voraus & liebe grüsse aus wien,
>
> andy
>
>
> ---
> Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
> -->> http://www.4t2.com/mysql
>
>
---
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive