Heim  >  Artikel  >  Datenbank  >  Wie kann ich dieselbe Tabelle mehrmals in verschiedenen Spalten effizient verknüpfen, um Benutzerinformationen abzurufen?

Wie kann ich dieselbe Tabelle mehrmals in verschiedenen Spalten effizient verknüpfen, um Benutzerinformationen abzurufen?

Linda Hamilton
Linda HamiltonOriginal
2024-10-24 10:36:30326Durchsuche

How to Efficiently Join the Same Table Multiple Times on Different Columns for User Information Retrieval?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn