mysql查询主要&子访问ID

时间:2013-11-27 15:11:08

标签: mysql

我有一个像这样的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。

1 个答案:

答案 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关键字。