J'ai une table user
et une table complaint
.joindre la même table deux fois sur des colonnes différentes
Le tableau complaint
présente la structure suivante:
[opened_by] [complaint_text] [closed_by]
(user_id) (text) (user_id)
(user_id) (text) (user_id)
(user_id) (text) (user_id)
Tous les utilisateurs, à la fois les complaignants et plaintes résolveurs sont situés dans le tableau user
.
Comment écrire une requête pour afficher le nom d'utilisateur des deux colonnes?
Cela me donne un:
SELECT user.username, complaint.complaint_text
FROM complaint
LEFT JOIN user ON user.user_id=complaint.opened_by
mais je ne sais pas comment l'écrire afin que les deux _by
colonnes les noms d'utilisateur plutôt que ID.
Je préfère ceci aux sous-requêtes si possible, facilement lisible et efficace. –
Cela ne fournirait-il pas un produit cartésien de 'plainte' x' A' x 'B'? – NeverEndingQueue
@NeverEndingQueue - Non ce n'est pas le cas parce que chacune des JOINs a une condition – potatopeelings