Benutzer in einer Gruppe, die nicht abgestimmt haben

Benutzer in einer Gruppe, die noch nicht abgestimmt haben

Dies liefert Ihnen die Benutzer, die zu einer benannten Gruppe gehören und in keinem offenen Thema abgestimmt haben. Sie müssen den Wert für den Parameter group_name angeben.

-- [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)

Dies liefert Ihnen die Benutzer, die zu einer benannten Gruppe gehören und in einem bestimmten Thema noch nicht abgestimmt haben. Sie müssen den group_name und die topic_id angeben:

-- [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 „Gefällt mir“