SELECT
C.category AS lvl,
CC.user_id,
COUNT(*)
FROM "OtherData" CC
JOIN "SimpleData" C
ON CC.simple_data_id = C.id
WHERE user_id IN (:userIDs)
GROUP BY C.category, CC.user_id
ORDER BY C.category asc;
мне нужно добавить к каждой группе поле is_active и определять его значение исходя из CC.is_active, если в группе хоть у одного айтема is_active = false, тогда нужно в результат тоже ставить false, если таких записей нет, то true. Как это сделать?
bool_and(is_active) min(is_active::integer)::boolean not (sum (is_active::integer))::boolean (Что-то меня понесло).
да, спасибо, это оно
Вроде оператор case должен помочь, или я задачу не до конца понял
SUM(CC.is_active::int) > 0
Спасибо, уже с bool_and сделал
О, так правильно. Не знал про такую функцию )
Обсуждают сегодня