Heim  >  Artikel  >  Datenbank  >  Wie kann man sowohl den Beschwerdeführer als auch den Beschwerdelöser in einer einzigen Abfrage identifizieren?

Wie kann man sowohl den Beschwerdeführer als auch den Beschwerdelöser in einer einzigen Abfrage identifizieren?

Susan Sarandon
Susan SarandonOriginal
2024-10-24 16:07:01250Durchsuche

How to Identify Both Complainant and Complaint Resolver in a Single Query?

Zweimalige Verknüpfung derselben Tabelle in verschiedenen Spalten zur Benutzeridentifizierung

Stellen Sie sich ein Datenbankszenario vor, das eine Benutzertabelle und eine Beschwerdetabelle umfasst. Die Beschwerdetabelle enthält Informationen wie den Benutzer, der die Beschwerde geöffnet hat, den Beschwerdetext und den Benutzer, der sie geschlossen hat. Alle an Beschwerden beteiligten Benutzer (Beschwerdeführer und Beschwerdelöser) werden in der Benutzertabelle gespeichert.

Um sowohl den Benutzernamen des Beschwerdeführers als auch des Beschwerdelösers zu identifizieren, müssen wir die Beschwerdetabelle zweimal mit der Benutzertabelle verknüpfen, jeweils einmal Benutzerspalte. Dies wird durch die folgende Abfrage erreicht:

<code class="sql">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</code>

In dieser Abfrage:

  • Wir beginnen mit der Auswahl des Beschwerdetextes sowie der Benutzernamen für die Benutzer „opened_by“ und „closed_by“.
  • Wir haben die Beschwerdetabelle zweimal mit der Benutzertabelle verknüpft und dabei die Aliase „A“ und „B“ zugewiesen, um zwischen den beiden Verknüpfungen zu unterscheiden.
  • Die ON-Klausel stellt sicher, dass die entsprechenden Benutzerzeilen verknüpft werden basierend auf den Spalten „opened_by“ und „closed_by“ aus der Beschwerdetabelle.

Durch die Ausführung dieser Abfrage wird der Beschwerdetext zusammen mit den Benutzernamen des Beschwerdeeröffners und des Beschwerdelösers abgerufen, wodurch eine umfassende Ansicht der Beschwerde bereitgestellt wird Daten zur Benutzeridentifikation.

Das obige ist der detaillierte Inhalt vonWie kann man sowohl den Beschwerdeführer als auch den Beschwerdelöser in einer einzigen Abfrage identifizieren?. 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