Maison  >  Article  >  base de données  >  Comment identifier à la fois le plaignant et le résolveur de plainte en une seule requête ?

Comment identifier à la fois le plaignant et le résolveur de plainte en une seule requête ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-24 16:07:01248parcourir

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

Joindre la même table deux fois sur des colonnes différentes pour l'identification de l'utilisateur

Considérez un scénario de base de données impliquant une table utilisateur et une table de réclamation. Le tableau des réclamations comprend des informations telles que l'utilisateur qui a ouvert la réclamation, le texte de la réclamation et l'utilisateur qui l'a fermée. Tous les utilisateurs impliqués dans les plaintes (plaignants et résolveurs de plaintes) sont stockés dans la table des utilisateurs.

Pour identifier les noms d'utilisateur du plaignant et du résolveur de plaintes, nous devons joindre la table des plaintes à la table des utilisateurs deux fois, une fois pour chacun. colonne utilisateur. La requête suivante accomplit cela :

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

Dans cette requête :

  • Nous commençons par sélectionner le texte de la plainte ainsi que les noms d'utilisateur pour les utilisateurs open_by et close_by.
  • Nous avons quitté la table des plaintes avec la table des utilisateurs deux fois, en attribuant les alias "A" et "B" pour distinguer les deux jointures.
  • La clause ON garantit que les lignes utilisateur appropriées sont jointes en fonction des colonnes open_by et close_by de la table des réclamations.

L'exécution de cette requête récupérera le texte de la réclamation ainsi que les noms d'utilisateur de l'ouvreur et du résolveur de la réclamation, fournissant ainsi une vue complète de la réclamation. données relatives à l'identification de l'utilisateur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn