I have a Chat_User
join table, and want to retrieve the ChatId
of a
between specified UserId
of x
and y
.
Chat_User
table:
Id ChatId UserId 1 a x <=== 2 b z 3 a y <=== 4 c x
I tried:
SELECT ChatId WHERE UserId IN ('x','y') GROUP BY ChatId;
But it returns ChatId
of a
and c
, but I only want a
, as it has BOTH of my specified UserId
(x
and y
).
Any way to achieve this?
Thanks
Advertisement
Answer
Aggregation offers one approach:
SELECT ChatId FROM yourTable WHERE UserId IN ('x', 'y') GROUP BY ChatId HAVING MIN(UserId) <> MAX(UserId);