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“.
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