Left Join

G.P.

Legendäres Mitglied
Ich habe eine Tabelle die ist wie folgt aufgebaut

Tabelle1
eintrag1, eintrag2, user_id1, user_id2

Und eine Tabelle welche wir folgt aufgebaut ist

Tabelle2
user_id, user_name


Ich moechte jetzt die Tabelle1 per while durchlaufen lassen und alle Eintraege ausgeben. Anstelle von den user IDs soll aber der Name ausgegeben werden.
Hat jemand eine Idee wie ich den entsprechenden Code schreiben kann?

MfG
GP
 
SELECT tab2.user_name
FROM tabelle1 tab1
INNER JOIN tabelle2 tab2 ON tab2.user_id = tab1.user_id1

so könnte es z.B. aussehen.
 
Hi,

meine Spontanlösung sieht wie folgt aus:

CODE
SELECT a.eintrag1, a.eintrag2, b.user_name as user1 , b1.user_name as user2
FROM table1 as a, table2 as b ON b.user_id = a.user_id1
JOIN table1 as a1, table2 as b1 ON b1.user_id = a1.user_id2




Gruß
Christian
 
SELECT a.eintrag1, a.eintrag2, b.user_name AS uname1, c.user_name AS uname2 FROM Tabelle1 a LEFT JOIN Tabelle2 b ON b.user_id=a.user_id1 LEFT JOIN Tabelle2 c ON c.user_id=a.user_id2
 
Das Problem was ich noch mit allen Loesungen habe.
Wenn ich die SQl Abfrage durch eine while Schleife laufen lasse, bekomme ich fuer den Wert user_name zwei Werte. Wie kann ich diese jetzt abrufen?
Mit einem einfachen $row['user_name'] geht da ja in diesem Fall nicht.

MfG
GP
 
wie das?
könntest du mal vllt ein bissel mehr von dein script hier veröffentlichen damit wir dir etwas besser behiflich sein könnten


@Christian Meyer deine sql-anweisung vershe ich nicht du macht ein from auf tab1 und tab2 und dann join auf tab1 und tab2 was in meinen augen sehr unperformant wäre.
 
Huhu

QUOTE
Mit einem einfachen $row['user_name'] geht da ja in diesem Fall nicht.



Bei der Variante von mir ist das durchaus moeglich, und zwar:

$row['user1'] und $row['user2']

Gruß
Christian

 
QUOTE
@Christian Meyer deine sql-anweisung vershe ich nicht du macht ein from auf tab1 und tab2 und dann join auf tab1 und tab2 was in meinen augen sehr unperformant wäre.



Das sind 2 Joins, warum sollte das schlecht für die Performance sein?
 
Könnte das funtionieren:

QUOTE
SELECT Tabelle1.eintrag1, Tabelle1.eintrag2, Tabelle2.user_name1, Tabelle2_2.user_name2
FROM Tabelle1,Tabelle2,Tabelle2 as Tabelle2_2
WHERE Tabelle1.user_id1= Tabelle2.user_id AND Tabelle1.user_id2 = Tabelle2_2.user_id



Ich war nie ein Fan von der join Syntax...
 
Zurück
Oben