У меня есть таблица с сеансами пользователей.Столбцы - UserID, SessionID, Completed (бит).
Я хочу получить список пользователей, у которых Completed = 0 и Completed = 1
Приведенный ниже запрос вернет UserId, содержащий как 0, так и 1 из записей столбца Completed.
SELECT UserId FROM Users WHERE Completed IN (0, 1) GROUP BY UserId HAVING COUNT(DISTINCT Completed ) = 2
Я бы сделал:
select userid from suers group by users having min(completed) = 0 and max(completed) = 1;
Select distinct userid from sessions where completed=1 Intersect Select distinct userid from sessions where completed=0
Пересечение получает только пользователей в обоих наборах