PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : query aus 2 tabellen



msi
23-03-2004, 15:33
Hallo,

ich habe zwei Tabellen, beide mit einem primary key(id).
die erste (etb) hat folgede eigenschaften:



mysql> describeetb;
+--------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+------------------+------+-----+---------+----------------+
| id | int(30) | | PRI | NULL | auto_increment |
| bt | tinytext | YES | | NULL | |
+--------------+------------------+------+-----+---------+----------------+
8 rows in set (0.00 sec)

mysql>


die zweite:


mysql> describe ztb;
+----------+---------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+---------+------+-----+---------+----------------+
| id | int(30) | | PRI | NULL | auto_increment |
| y_id | int(10) | YES | | NULL | |
+----------+---------+------+-----+---------+----------------+
5 rows in set (0.01 sec)

mysql>


jetzt bräcute ich eine mysql query, mit der ich mir alle einträge aus etb anzeigen lassen kann und zusätzlich noch y_id angegeben ist, falls ztb.y_id=etb.id ansonsten soll dieser wert auf 0 gesetzt werden. wie mach ich das?

danke

-Sensemann-
23-03-2004, 22:28
weis es nicht genau...aber

"InnerJoin" und "OuterJoin" ?

so als Stichworte ?

Pingu
24-03-2004, 19:20
Hi,

Schon einmal in die Doku gesehen, z.B. JOIN (http://www.mysql.com/doc/de/JOIN.html)?

Pingu

Hans-Georg Normann
24-03-2004, 20:25
Variante 1.

SELECT etb.id, etb.bt, ztb.y_id
from etb, ztb
Where etb.id = ztb.id

Variante2

SELECT etb.id, etb.bt, ztb.y_id
from etb left outer join ztb on (etb.id = ztb.id)

Variante3 (bin mir nicht sicher!!!)

SELECT etb.id, etb.bt, ztb.y_id
from etb right outer join ztb on (etb.id = ztb.id)

Einfach einmal eusprobieren. Sorge bitte dafi, dass in beiden Tabellen auch ID Werte drin sind, die in der anderen Tabelle nicht vorhanden sind. Dann siehst du den Unterschied.

Hans

msi
25-03-2004, 21:52
danke habe mir das kapitel zu join jetzt mal durchgelesen, jetzt weiß ich wie das geht, danke!