我有如下格式的表结构:
# 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
试试看:
SELECT projectId
FROM fm05__project_attributes
WHERE attributeId IN (20,30)
GROUP BY projectId
HAVING COUNT(*) = 2