![]() |
Datenbank: MySQL • Version: 5 • Zugriff über: UniDac
Eine Tabelle mehrmals im left join
Hallo Zusammen,
ich komme gerade mit einer Abfrage nicht weiter und hoffe, dass Ihr mir helft. Ich habe die User in einer Tabelle (User_ID, Name, ...) In einer anderen Tabelle habe ich in jeder Zeile folgende Daten: ID, Daten1, User_ID1, Daten2, User_ID2, ... Ich möchte jetzt in meiner Abfrage die Daten 1 und 2 die UserNamen 1 und 2 zu den User_IDs rausholen. Hier ein Ansatz:
Delphi-Quellcode:
Ich brauche also eine Möglichkeit, dass sich die Tabelle User auf unterschiedliche Felder der DatenTabelle beim left join bezieht.
select DatenTabelle.Daten1, User.Username, DatenTabelle.Daten2, User.Username
from DatenTabelle left join User on User.User_ID=DatenTabelle.User_ID1 left join User on User.User_ID=DatenTabelle.User_ID2 //Das gibt natürlich einen Fehler Ich hoffe, mein Problem ist nachvollziehbar. Vielen Dank Patrick |
AW: Eine Tabelle mehrmals im left join
Verwende Aliase, dann geht das.
|
AW: Eine Tabelle mehrmals im left join
Benutze Tabellenaliase.
SQL-Code:
SELECT
DatenTabelle.Daten1, User1.Username, DatenTabelle.Daten2, User2.Username FROM DatenTabelle LEFT JOIN User User1 ON User1.User_ID=DatenTabelle.User_ID1 LEFT JOIN User User2 ON User2.User_ID=DatenTabelle.User_ID2 |
AW: Eine Tabelle mehrmals im left join
Das verstehe ich leider nicht. Es gibt daoch auf meinem Server keine Tabelle User1 oder User2, sondern nur User. Wie muss ich das denn angeben, dass der MySQL-Server das versteht?
Vielen Dank Patrick |
AW: Eine Tabelle mehrmals im left join
Usee1 und User2 sind Aliase für die Tabelle User. Sie sind Platzhalter für 2 Instanzen der Tabelle.
Zitat:
|
AW: Eine Tabelle mehrmals im left join
Wer lesen kann ist klar im Vorteil...:oops:
Ich hatte überlesen, dass da "user user1." steht. Dann klappt es auch. Vielen Dank und noch einen schönen Samstag Patrick |
AW: Eine Tabelle mehrmals im left join
Vielleicht sollte ich mir angewöhnen, auch bei Tabellenaliasen das AS zu verwenden, ich mach das sonst nur bei Feldaliasen.
|
AW: Eine Tabelle mehrmals im left join
Ich lasse es auch immer weg.
|
AW: Eine Tabelle mehrmals im left join
Ich nehme für einen Alias immer einen sehr kurzen Namen (die Tabellen-Namen sind sprechend), dann weiß ich, dass es ein Alias ist ;)
SQL-Code:
SELECT
d.Daten1, u1.Username, d.Daten2, u2.Username FROM DatenTabelle d LEFT JOIN User u1 ON u1.User_ID=d.User_ID1 LEFT JOIN User u2 ON u2.User_ID=d.User_ID2 |
AW: Eine Tabelle mehrmals im left join
Ich eigentlich auch (allein schon aus Tippfaulheit), aber diesmal wollte ich das Prinzip besonders hervorheben. Ist wohl danebengegangen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz