phpbar.de logo

Mailinglisten-Archive

=?iso-8859-1?Q?AW:_join_=FCber_3_tabellen?=

AW: join �ber 3 tabellen

Matthias Bruns mysql-de_(at)_lists.bttr.org
Mon, 23 Sep 2002 23:27:00 +0200


Hallo Andreas,
es f�ngt sch damit an, das ich die Tabellen anders aufbauen w�rde.

tab_nam: companies
cmp_idn	(int) PK
brc_idn	(int)
cmp_nam	(varchar)

tab_nam: branches
brc_idn	(int) PK
brc_nam	(varchar)

tab_nam: adresses
adr_idn	(int) PK
cmp_idn	(int)
adr_str	(varchar)

Eine Company gibt es nur 1x.
Branches gibt es viele, aber ohne direkte Zuordnung.
Adressen gibt es uU f�r jede Company mehrfach.

Dann sieht der SQL-String folgenderma�en aus:

SELECT c.cmp_nam, b.brc_nam, a.adr_str
FROM companies c
	inner join branches b on c.brc_idn=b.brc_idn
	inner join adresses a on c.cmp_idn=a.cmp_idn

Ich denke, so m��te es funktionieren.

Viel Erfolg.
Gru�
Matthias


-----Urspr�ngliche Nachricht-----
Von: Andreas Stagl [mailto:a.stagl_(at)_gmx.at]
Gesendet: Montag, 23. September 2002 20:33
An: mysql-de_(at)_lists.4t2.com
Betreff: join �ber 3 tabellen



hi there!

irgendwie kappier ich das mit den joins nicht... oder ich steh mal wieder
auf der leitung.

ich hab 3 tabellen:

tab_nam: companies
cmp_idn (int) PK
cmp_nam (varchar)

tab_nam: branches
brc_idn (int) PK
cmp_idn (int)
brc_nam (varchar)

tab_nam: adresses
adr_idn (int) PK
brc_idn (int)
adr_str (varchar)

companies und branches werden �ber das feld cmp_idn verbunden, branches und
adresses �ber das feld brc_idn, wobei beide 'relations' als 1:n zu
verstehen sind; sprich eine company kann mehrere oder aber auch keine (weil
eben noch keine in die db eingepflegt) branchen haben, eine branche
wiederum kann mehrere oder keine addresse haben.

nun h�tt ich gern ein ergebnis, in folgender form

cmp_nam	brc_nam	adr_str
------------------------------------------------------------
compaq	headquarter	strasse a
compaq	entwicklung	strasse b
compaq	entwicklung	strasse c
microsoft	headquarter	NULL
microsoft	verkauf		NULL
zend		NULL		NULL
...		...		...

hat hierf�r vielleicht jemand eine query parat? schon mal danke im voraus.

lg 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