"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 efficacement la même table plusieurs fois sur différentes colonnes pour la récupération des informations utilisateur ?

Comment rejoindre efficacement la même table plusieurs fois sur différentes colonnes pour la récupération des informations utilisateur ?

Publié le 2024-11-25
Parcourir:997

How to Efficiently Join the Same Table Multiple Times on Different Columns for User Information Retrieval?

Joindre la même table deux fois sur des colonnes différentes pour une récupération polyvalente des informations utilisateur

Cette requête vise à récupérer les noms d'utilisateur pour les colonnes open_by et close_by dans la table des plaintes, où les utilisateurs sont stockés dans la table des utilisateurs. Le défi consiste à joindre la table utilisateur plusieurs fois en utilisant différentes colonnes.

Pour accomplir cette tâche, nous utilisons une opération LEFT JOIN pour chaque instance de la table utilisateur, en alias les tables jointes comme A et B pour plus de clarté. La requête se déroule comme suit :

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, nous commençons par sélectionner la colonne complaint_text de la table des plaintes et les noms d'utilisateur de la table user pour les colonnes open_by et close_by.

Nous joignons ensuite la table des plaintes avec la table des utilisateurs basée sur la colonne open_by en utilisant LEFT JOIN. Cela nous permet de faire correspondre le user_id de plainte.opened_by au user_id dans la table user et de récupérer le nom d'utilisateur correspondant. Nous alias la table jointe comme A.

Ensuite, nous effectuons une autre opération LEFT JOIN entre la table de réclamation et la table utilisateur basée sur la colonne close_by. Nous appelons cette table jointe B.

Le résultat de cette requête fournit une vue claire des détails de la plainte, ainsi que les noms d'utilisateur du plaignant et des colonnes résolues Par.

Déclaration de sortie Cet article est réimprimé à l'adresse : 1729735359. En cas d'infraction, 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