Maison > base de données > tutoriel mysql > Comment rejoindre une table deux fois sur différentes colonnes pour afficher les noms d'utilisateur au lieu des identifiants d'utilisateur ?

Comment rejoindre une table deux fois sur différentes colonnes pour afficher les noms d'utilisateur au lieu des identifiants d'utilisateur ?

Linda Hamilton
Libérer: 2024-10-24 18:21:02
original
536 Les gens l'ont consulté

How to Join a Table Twice on Different Columns to Display Usernames Instead of User IDs?

Rejoindre deux fois la même table sur des colonnes différentes

Question :

Un utilisateur et une réclamation des tables sont établies, où les utilisateurs peuvent déposer et résoudre des plaintes. La table des réclamations inclut l'user_id du plaignant et du résolveur. Le but est d'écrire une requête qui affiche les noms d'utilisateur des deux parties au lieu de leurs user_ids.

Réponse :

Pour rejoindre la table user deux fois sur des colonnes différentes et récupérer les noms d'utilisateurs, la requête suivante peut être utilisée :

SELECT 
     complaint.complaint_text, 
     A.username AS OpenedBy, 
     B.username AS ClosedBy
FROM 
     complaint 
     LEFT JOIN user A ON A.user_id=complaint.opened_by 
     LEFT JOIN user B ON B.user_id=complaint.closed_by
Copier après la connexion

Dans cette requête :

  • La clause LEFT JOIN est utilisée pour joindre deux fois la table des réclamations avec la table des utilisateurs.
  • L'alias A est utilisé pour la première jointure, faisant référence au nom d'utilisateur du plaignant.
  • L'alias B est utilisé pour la deuxième jointure, faisant référence au nom d'utilisateur du résolveur de plainte.
  • La table des utilisateurs est joint à la table des plaintes en fonction des colonnes open_by et close_by, récupérant les noms d'utilisateur pertinents.

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal