我有一个像这样的MySQL表
ownerlisting_access_id property_id mainaccess_id subaccess_id access_value
62 2 35 41 Yes
64 2 35 36 Yes
123 4 35 41 Yes
125 4 35 36 Yes
306 7 35 41 Yes
307 7 35 42 Yes
308 7 35 36 Yes
我需要获得为subaccess_id服务的property_id 41& 42& 36。 我需要将property_id设为7。
答案 0 :(得分:0)
这应该有效:
SELECT property_id FROM t
WHERE subaccess_id IN (41, 42, 36)
GROUP BY property_id
HAVING COUNT(DISTINCT subaccess_id) = 3
小提琴here。
请记住,您应该将IN
子句中的元素数量与HAVING
子句中的数字相匹配。另请注意,如果对于给定的subaccess_id
您不能多次使用property_id
次,则可以删除DISTINCT
关键字。