[MySQL] join über index

ActionScripter

Scripter auf Abruf
ID: 141403
L
17 Oktober 2006
484
39
hallo,

ich habe zwei tabellen mit dem primary index über jeweils mehrere spalten. der index ist in beiden tabellen gleich. wie kann ich jetzt ein join ausführen??

SELECT * FROM table1 AS t1 LEFT JOIN table2 AS t2 ON t1.PRIMARY = t2.PRIMARY WHERE 1

geht sowas? oder wenn nicht, wie kann ich dann mehrere ON's angeben?
 
Huhu,
du kannst nach ON mehrere Bedingungen definieren und mit AND / OR verbinden. ;)

Also in etwa so:

Code:
SELECT * FROM table1 AS t1 LEFT JOIN table2 AS t2 ON (t1.key1 = t2.key1 AND t1.key2 = t2.key2)

Gruß, Zera
 
SELECT * FROM table1 AS t1 LEFT JOIN table2 AS t2 ON (t1.key1 = t2.key1 AND t1.key2 = t2.key2)
In diesem Fall, wenn die Felder gleiche Namen haben, kann man mit USING die Query noch ein wenig übersichtlicher gestalten:
Code:
[FONT=Courier New][B][COLOR=#9932cc]SELECT[/COLOR][/B] * [B][COLOR=#9932cc]FROM[/COLOR][/B] `table1`
[B][COLOR=#9932cc]LEFT[/COLOR][/B] [B][COLOR=#9932cc]JOIN[/COLOR][/B] `table2` [B][COLOR=#9932cc]USING[/COLOR][/B](`key1`,`key2`)[/FONT]