ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
289
289
EMPFEHLEN
-
Hallo zusammen,
ich versuche derzeit verzweifelt, 2 Datensätze aus einer Tabelle mit den IDs aus einer Tabelle zu verbinden.
Das Szenario sieht folgendermaßen aus:
Es gibt eine Tabelle in der Termine festgehalten werden.
Diese Tabelle beinhaltet zwei IDs zu je einem User.
Beide User kommen jedoch aus derselben Tabelle.
Es gibt also 2 Left Joins die zur selben Tabelle führen nur eben mit anderen spalten in der Termin-Tabelle verknüpft sind (starter_id, joiner_id - nenn ich sie hier einfach mal).
Mit einem Leftjoin ****t alles wunederbar.
Allerdings brauche ich auch die Daten des anderen Teilnehmers.
Da ich hierzu die Tabelle erneut befrage, ist sie nicht mehr "unique".
Ich erteile Ihr also einen eindeutigen Bezeichner mit AS und die Abfrage funktioniert wieder - liefert jedoch trotzdem am Ende NUR die Daten des starters und nicht des Joiners.
Meine Frage also in komprimierter Form:
Wie kann ich 2 Datensätze aus EINER Tabelle mit einer anderen Tabelle verbinden?
termine->user(user_a)
termine->user(user_b)
?
Hat jemand eine Idee?
Hier mein Ansatz:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13
SELECT schedule.*, user.id FROM schedule LEFT JOIN user ON schedule.id_starter = user.id LEFT JOIN user AS joiner ON schedule.id_joiner = user.id
Liebe Grüße,
MikeBesten Gruß,
Mike
-
Hallo Mike,
du musst bei den zu selektierenden Feldern auch die entsprechenden Spalten des zweiten Joins angeben. \edit: Beim zweiten Join solltest du außerdem den Alias in der ON-Klausel verwenden. Also z.B. so:
Code sql:1 2 3 4 5 6 7 8 9 10 11 12 13 14
SELECT schedule.*, USER.username AS starter_username, joiner.username AS joiner_username FROM schedule LEFT JOIN USER ON schedule.id_starter = USER.id LEFT JOIN USER AS joiner ON schedule.id_joiner = joiner.id
Grüße,
MatthiasGeändert von Matthias Reitinger (22.09.10 um 13:44 Uhr)
„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”
Aktuelles Coding Quiz: #17 - Wörter kreuz und quer
-
Okay funktioniert und hat schonmal sehr geholfen danke - nun möchte ich allerdings noch eingrenzen.
Es sollen nur Datensätze angezeigt werden wo joiner.id = 6 ist.
HAVING, WHERE funktioniert beides nicht, weder bei schedule. noch bei joiner. ...
Dazu noch eine Idee?Besten Gruß,
Mike
-
WHERE funktioniert. Du wendest es wahrscheinlich falsch an. Bitte zeige mal dein Versuch.
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
Habs gelöst:
Having war schon richtig, aber der Tabellenname musste weggelassen werden:
HAVING
joiner_id = X hat also geklappt!
Danke
Besten Gruß,
Mike
-
Hast du noch ein GROUP BY darüber? Ansonsten hat HAVING nicht viel verloren
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
Nein hab ich nicht.
Es funktioniert so auf dem Weg - gerne kannst du mir aber eine alternative oder eine bessere Variante unterbreiten?!Besten Gruß,
Mike
-
Mach ich, nachdem du mal gezeigt hast wie du es umgesetzt hast.
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
Ähnliche Themen
-
MYSQL Zeile einer Tabelle mittels VB.net in eine andere Tabelle kopieren
Von bierber im Forum .NET DatenverwaltungAntworten: 1Letzter Beitrag: 05.05.07, 19:44 -
Timeout beim Löschen einer Tabelle mit 1,3 Millionen Datensätzen
Von tommy85 im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 07.11.06, 11:59 -
Bestimmte Einträge aus einer Tabelle in eine andere Tabelle kopieren
Von medico im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 29.03.06, 18:42 -
Zwei untersch. Formulare in einer Tabelle
Von djnelly im Forum HTML & XHTMLAntworten: 3Letzter Beitrag: 05.07.04, 13:56 -
anzeigeprobs nach einfügen einer weiteren tabelle ...
Von Prailer im Forum HTML & XHTMLAntworten: 3Letzter Beitrag: 25.01.02, 05:05





Zitieren


Login





