Anzeige - [Interessiert an einer Anzeige?]
(?) Tags raten (?) (edit)
 
Reply to this topicStart new topicStart Poll
> Left Join, mysql abfrage
G.P.
Geschrieben am: Di 25.09.2007, 13:56
Report PostQuote Post

AyomRank 6
************

Gruppe: Member (aktiv)
Beiträge: 720
Mitglied seit: 21.10.2004


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


--------------------
SnEO.de - PR4 Domains ab 1 Euro
GoodBoard.de - Kostenlose Foren
FSJ-ADiA.de - Zivildienst im Ausland
Top
PMEmail PosterUsers Website
Top
 
 
DZVO
#2 Geschrieben am: Di 25.09.2007, 14:28 (+00:32)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 117
Mitglied seit: 19.03.2007


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.


--------------------
Kuckst du oder ..... du
wiirtuell.de - noch ein Wii Blog
Top
PMICQ
Top
 
Christian Meyer
#3 Geschrieben am: Di 25.09.2007, 14:30 (+00:01)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 52
Mitglied seit: 14.06.2007


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


--------------------
Top
PMEmail PosterUsers Website
Top
 
nitrit
#4 Geschrieben am: Di 25.09.2007, 14:30 (+00:00)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 244
Mitglied seit: 8.08.2007


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


--------------------
Top
PMEmail Poster
Top
 
G.P.
#5 Geschrieben am: Di 25.09.2007, 14:34 (+00:03)
Report PostQuote Post

AyomRank 6
************

Gruppe: Member (aktiv)
Beiträge: 720
Mitglied seit: 21.10.2004


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


--------------------
SnEO.de - PR4 Domains ab 1 Euro
GoodBoard.de - Kostenlose Foren
FSJ-ADiA.de - Zivildienst im Ausland
Top
PMEmail PosterUsers Website
Top
 
DZVO
#6 Geschrieben am: Di 25.09.2007, 14:56 (+00:22)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 117
Mitglied seit: 19.03.2007


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.


--------------------
Kuckst du oder ..... du
wiirtuell.de - noch ein Wii Blog
Top
PMICQ
Top
 
Christian Meyer
#7 Geschrieben am: Di 25.09.2007, 14:57 (+00:00)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 52
Mitglied seit: 14.06.2007


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



--------------------
Top
PMEmail PosterUsers Website
Top
 
Christian Meyer
#8 Geschrieben am: Di 25.09.2007, 15:06 (+00:08)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 52
Mitglied seit: 14.06.2007


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?


--------------------
Top
PMEmail PosterUsers Website
Top
 
PH
#9 Geschrieben am: Mi 26.09.2007, 06:23 (+15:16)
Report PostQuote Post

AyomRank 7
**************

Gruppe: Member (aktiv)
Beiträge: 1192
Mitglied seit: 29.08.2004


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...
Top
PMEmail Poster
Top
 
G.P.
#10 Geschrieben am: Mi 26.09.2007, 12:56 (+06:32)
Report PostQuote Post

AyomRank 6
************

Gruppe: Member (aktiv)
Beiträge: 720
Mitglied seit: 21.10.2004


Hallo,

danke fuer eure Hilfe. Es klappt jetzt alles.

MfG
GP


--------------------
SnEO.de - PR4 Domains ab 1 Euro
GoodBoard.de - Kostenlose Foren
FSJ-ADiA.de - Zivildienst im Ausland
Top
PMEmail PosterUsers Website
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/20813

Topic Options Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
MySQL-Abfrage: Mit oder ohne "JOIN" cr4m0 215 6 Mo 10.03.2008, 16:16
mySQL: join HoBbY 649 10 Mi 22.11.2006, 19:13
mysql & JOIN pangu 724 10 Sa 6.08.2005, 13:06
Black out mit Join abfrage z-web 489 9 Do 7.07.2005, 13:51
W3C - 2 Errors left Julian Ulrich 380 4 Mo 23.05.2005, 09:28




Anzeige - [Interessiert an einer Anzeige?]



Anzeigen


[Interessiert an einer Anzeige?]