Usuarios en un grupo que no han votado

Usuario(s) en un Grupo que no han Votado

Esto te dará los usuarios que pertenecen a un grupo con nombre específico y que no han votado en ningún tema abierto. Deberás proporcionar el valor para el parámetro 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)

Esto te dará los usuarios que pertenecen a un grupo con nombre específico y que no han votado en un tema determinado. Deberás proporcionar group_name y 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)
17 Me gusta