„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > 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?

Veröffentlicht am 25.11.2024
Durchsuche:908

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

Zweifaches Verknüpfen derselben Tabelle in unterschiedlichen Spalten zum vielseitigen Abrufen 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.

Anschließend verbinden wir 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 verknüpften 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 sowie die Benutzernamen des Beschwerdeführers und der Spalten „Gelöst von“.

Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729735359 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3