提问者:小点点

MySQL[副本]中同一列的应用和条件


我有如下格式的表结构:

# id  attributeId   projectId
'28'    '20'          '87' 
'29'    '21'          '87' 
'30'    '22'          '570' 
'31'    '20'          '570' 
'32'    '30'          '570' 

我想把属性ID作为参数传递,然后得到一个为它分配了所有属性的projectId。

如果我通过了20、30个属性ID,我应该只得到570个项目ID,而不是87,因为30没有分配给87。

SELECT * FROM fm05__project_attributes where attributeId in (20,30);

上面的查询给我,下面的结果是不正确的。

id  attributeId   projectId
28    20              87    
31    20              570   
32    30              570   
            

共1个答案

匿名用户

试试看:

SELECT projectId
FROM  fm05__project_attributes
WHERE attributeId IN (20,30)
GROUP BY projectId
HAVING COUNT(*) = 2