Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie verbinde ich eine Tabelle zweimal in verschiedenen Spalten, um verwandte Daten abzurufen?

DDD
Freigeben: 2024-10-24 14:16:02
Original
379 Leute haben es durchsucht

How to Join a Table Twice on Different Columns to Retrieve Related Data?

Der gleichen Tabelle zweimal in verschiedenen Spalten beitreten

Stellen Sie sich ein Szenario vor, in dem Sie eine Benutzertabelle und eine Beschwerdetabelle haben. Die Beschwerdetabelle enthält die Benutzer-ID sowohl der Person, die die Beschwerde geöffnet hat, als auch der Person, die sie geschlossen hat. Ziel ist es, eine Abfrage zu schreiben, die die Benutzernamen dieser beiden Personen anzeigt.

Zunächst kann eine Abfrage den Benutzernamen der Person abrufen, die die Beschwerde eröffnet hat:

SELECT user.username, complaint.complaint_text
FROM complaint
LEFT JOIN user ON user.user_id=complaint.opened_by
Nach dem Login kopieren

Allerdings zu Um den Benutzernamen der Person abzurufen, die die Beschwerde geschlossen hat, müssen Sie der Benutzertabelle erneut beitreten und dabei eine andere Spalte verwenden. Dies wird mit der folgenden Abfrage erreicht:

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
Nach dem Login kopieren

In dieser Abfrage:

  • Tabelle A wird zum Verknüpfen mit der Spalte „opened_by“ verwendet.
  • Tabelle B ist Wird verwendet, um der Spalte „closed_by“ beizutreten.

Durch zweimaliges Beitreten zur Benutzertabelle können Sie die Benutzernamen sowohl der Person abrufen, die die Beschwerde geöffnet als auch geschlossen hat, und so umfassende Informationen zu jeder Beschwerde anzeigen.

Das obige ist der detaillierte Inhalt vonWie verbinde ich eine Tabelle zweimal in verschiedenen Spalten, um verwandte Daten abzurufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!