Je souhaite que ma liste de “Utilisateurs_Ayant_Repondu_A_Un_Sujet” inclue le NOM de l’utilisateur.
J’ai essayé de suivre une convention issue d’un autre fil de discussion, qui permet d’inclure des informations supplémentaires dans ces requêtes Data Explorer, mais cela n’a pas fonctionné lorsque j’ai appliqué la même syntaxe.
Voici la requête que j’exécute actuellement, qui ne renvoie que le “nom d’utilisateur” de ceux qui ont répondu à un sujet…
-- https://meta.discourse.org/t/68756/8?u=sidv
-- [params]
-- topic_id :topic_id = 536
SELECT u.username
FROM badge_posts p
JOIN topics t ON p.topic_id = t.id
JOIN users u ON p.user_id = u.id
WHERE t.id = :topic_id
GROUP BY p.user_id,u.username
Merci pour ton aide rapide, Jay ! J’ai mis à jour comme suit, selon ta suggestion :
SELECT u.username, u.name
FROM badge_posts p
JOIN topics t ON p.topic_id = t.id
JOIN users u ON p.user_id = u.id
WHERE t.id = :topic_id
GROUP BY p.user_id,u.username
… puis j’ai obtenu cette erreur…
PG::GroupingError: ERROR: la colonne "u.name" doit apparaître dans la clause GROUP BY ou être utilisée dans une fonction d'agrégation
LINE 12: SELECT u.username, u.name
Alors j’ai modifié la requête comme suit et cela a fonctionné à merveille !
SELECT u.username, u.name
FROM badge_posts p
JOIN topics t ON p.topic_id = t.id
JOIN users u ON p.user_id = u.id
WHERE t.id = :topic_id
GROUP BY p.user_id,u.username,u.name
Donc, à partir de mon extrait original, j’ai ajouté ce qui suit :
À la ligne “SELECT” : , u.name
À la ligne “GROUP BY” : ,u.name
Merci encore, @pfaffman, pour ton aide avec cette syntaxe !