Utilisateur(s) dans un groupe qui n’ont pas voté
Cela vous donnera les utilisateurs appartenant à un groupe nommé qui n’ont pas voté dans les sujets ouverts. Vous devrez fournir la valeur du paramètre group_name.
-- [params]
-- string :group_name
WITH voters AS (
SELECT user_id AS voter_id
FROM topic_voting_votes
WHERE archive = FALSE
)
SELECT u.id AS user_id
FROM users u
JOIN group_users gu ON gu.user_id = u.id
JOIN groups g ON g.id = gu.group_id
WHERE LOWER(g.name) LIKE LOWER(:group_name)
AND u.id NOT IN (SELECT voter_id FROM voters)
Cela vous donnera les utilisateurs appartenant à un groupe nommé qui n’ont pas voté sur un sujet donné. Vous devrez fournir le group_name et le topic_id :
-- [params]
-- string :group_name
-- topic_id :topic_id
WITH voters AS (
SELECT user_id AS voter_id
FROM topic_voting_votes tvv
WHERE tvv.topic_id = :topic_id
)
SELECT u.id AS user_id
FROM users u
JOIN group_users gu ON gu.user_id = u.id
JOIN groups g ON g.id = gu.group_id
WHERE LOWER(g.name) LIKE LOWER(:group_name)
AND u.id NOT IN (SELECT voter_id FROM voters)