![]() |
Datenbank: MySQL • Version: 5 • Zugriff über: ZeosDBO
Feld anderer Tabelle zweimal abfragen
Hallo Jungs & Mädels,
ich habe eine Benutzertabelle, die unter anderem auch den echten Namen enthält (realname) und eine andere Tabelle, die unter anderem folgende Informationen enthält: Eintrag für [realname], eingetragen von [realname]. Die Tabellen sehen so aus:
Code:
Ein Datensatz sieht also so aus:
[b]benutzer[/b]
benutzerid | username | realname | status | rang [...] [b]notizen[/b] notizid | empfaenger | notiz | eingetragenvon | [...]
Code:
Einen SQL-Join bekomme ich so hin, dass entweder der Empfänger oder aber derjenige angezeigt wird, der die Notiz hinterlassen hat. Ich bekomme aber beides nicht gleichzeitig hin.
benutzer
1 | userA | Max Mustermann | 0 | 1 2 | userB | Jen Jennsen | 0 | 2 notizen 1 | 1 | Ich brauche eine Pause | 2 Könnt ihr mir helfen? Danke im Voraus! |
Re: Feld anderer Tabelle zweimal abfragen
In dem du die gleiche Tabelle 2 mal dazu joinst und 2 verschiedene Aliase verwendest
|
Re: Feld anderer Tabelle zweimal abfragen
Hallo,
ich habe es jetzt so gemacht, wie du es gesagt hast, aber da kommt trotzdem nicht das richtige Ergebnis raus: Hier mal die SQL
SQL-Code:
Doch bei den Ergebnissen bekomme ich beides Mal "Max Mustermann" angezeigt.
SELECT notizen.*, benutzer.realname AS 'name1', benutzer.realname AS 'name2' FROM notizen AS notizen LEFT JOIN benutzer AS benutzer ON (notizen.addedby = benutzer.uid) LEFT JOIN benutzer AS benutzerZwei ON (notizen.empfaenger = benutzer.uid);
Oder habe ich dich falsch verstanden, sodass mein Statement falsch ist? |
Re: Feld anderer Tabelle zweimal abfragen
Es ist gefährlich den Alias wie eine Tabelle zu nennen
SQL-Code:
SELECT
n.*, b1.realname AS 'EmpfaengerName', b2.realname AS 'EintragerName' FROM notizen n LEFT JOIN benutzer b1 ON b1.uid = n.addedby LEFT JOIN benutzer b2 ON b2.uid = n.empfaenger; |
Re: Feld anderer Tabelle zweimal abfragen
Tatsache. Das funktioniert!
Diese Schreibweise mit den Alias kannte ich so wirklich noch nicht. Tja, man lernt nie aus. Vielen Dank :-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:53 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