"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment rejoindre la table deux fois sur différentes colonnes pour obtenir des données pertinentes?

Comment rejoindre la table deux fois sur différentes colonnes pour obtenir des données pertinentes?

Publié le 2025-04-12
Parcourir:763

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

Rejoindre le même tableau deux fois sur différentes colonnes

Considérez un scénario où vous avez une table utilisateur et une table de plainte. Le tableau des plaintes contient l'ID utilisateur de la personne qui a ouvert la plainte et la personne qui l'a fermée. L'objectif est d'écrire une requête qui affiche les noms d'utilisateur pour ces deux individus.

Initialement, une requête peut récupérer le nom d'utilisateur pour la personne qui a ouvert la plainte:

SELECT user.username, complaint.complaint_text
FROM complaint
LEFT JOIN user ON user.user_id=complaint.opened_by

Cependant, pour récupérer le nom d'utilisateur pour la personne qui a clôturé la plainte, vous devez à nouveau rejoindre le tableau d'utilisateurs à l'aide d'une colonne différente. Ceci est réalisé en utilisant la requête suivante:

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

Dans cette requête:

  • la table a est utilisée pour rejoindre sur la colonne ouverte_by. Noms d'utilisateur pour la personne qui a ouvert et fermé la plainte, vous permettant d'afficher des informations complètes sur chaque plainte.
Déclaration de sortie Cet article est reproduit sur: 1729736279 S'il y a une contrefaçon, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3