Zweifache Verknüpfung derselben Tabelle in verschiedenen Spalten für vielseitigen Abruf von Benutzerinformationen
Diese Abfrage zielt darauf ab, Benutzernamen für die Spalten „opened_by“ und „closed_by“ abzurufen in der Reklamationstabelle, wobei die Benutzer in der Benutzertabelle gespeichert sind. Die Herausforderung besteht darin, die Benutzertabelle mehrmals unter Verwendung unterschiedlicher Spalten zu verknüpfen.
Um diese Aufgabe zu erfüllen, verwenden wir eine LEFT JOIN-Operation für jede Instanz der Benutzertabelle und geben den verbundenen Tabellen der Übersichtlichkeit halber die Alias A und B an. Die Abfrage läuft wie folgt ab:
SELECT complaint.complaint_text, A.username, B.username FROM complaint LEFT JOIN user A ON A.user_id=complaint.opened_by LEFT JOIN user B ON B.user_id=complaint.closed_by
In dieser Abfrage wählen wir zunächst die Spalte „beschwerdetext“ aus der Beschwerdetabelle und die Benutzernamen aus der Benutzertabelle für die Spalten „opened_by“ und „closed_by“ aus.
Wir verbinden dann die Beschwerdetabelle mit der Benutzertabelle basierend auf der Spalte „opened_by“ mithilfe von LEFT JOIN. Dadurch können wir die Benutzer-ID aus „beschwerde.opened_by“ mit der Benutzer-ID in der Benutzertabelle abgleichen und den entsprechenden Benutzernamen abrufen. Wir geben der verbundenen Tabelle den Alias A.
Als nächstes führen wir eine weitere LEFT JOIN-Operation zwischen der Beschwerdetabelle und der Benutzertabelle basierend auf der Spalte „closed_by“ durch. Wir geben dieser verknüpften Tabelle den Alias B.
Das Ergebnis dieser Abfrage bietet eine klare Ansicht der Beschwerdedetails, zusammen mit den Benutzernamen des Beschwerdeführers und den Spalten „Gelöst von“.
Das obige ist der detaillierte Inhalt vonWie kann ich dieselbe Tabelle mehrmals in verschiedenen Spalten effizient verknüpfen, um Benutzerinformationen abzurufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!