phpbar.de logo

Mailinglisten-Archive

JOIN syntax

JOIN syntax

Marco Schumann mysql-de_(at)_lists.bttr.org
Wed, 08 May 2002 12:05:48 +0200


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