Explorateur de données requête - ajouter un paramètre supplémentaire dans l'export

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

Ajouter

 , u.name

Après u.username sur la première ligne.

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 ! :tada:

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 !

Ce doctorat en éducation commence enfin à porter ses fruits !

Bravo !

:squinting_face_with_tongue: Tout à fait ! Merci encore :wink: