我有一个像这样的 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 提供 41 & 42 & 36 的 property_id。 我需要将 property_id 获取为 7。
最佳答案
这应该有效:
SELECT property_id FROM t
WHERE subaccess_id IN (41, 42, 36)
GROUP BY property_id
HAVING COUNT(DISTINCT subaccess_id) = 3
fiddle here .
请记住,您应该将 IN
子句中的元素数量与 HAVING
子句中的数量相匹配。另请注意,如果给定 property_id
不能多次使用相同的 subaccess_id
,则可以删除 DISTINCT
关键字。
关于带有主和子访问 ID 的 mysql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20246052/