我有一个包含以下字段的表格:
ID | Attribute_ID
200 3
200 4
200 6
200 7
201 6
202 2
202 6
203 6
204 2
204 4
204 6
我希望我的结果是这样的:
ID | Attribute_ID
201 6
203 6
基本上,我需要编写一个查询,其中'ID'与'Attribute_ID'= 6相关联,而不是'Attribute_ID'= 1,2,3。这是另一个列值唯一的列值,如果这有意义的话。
我正在使用DB2。
以下是我的尝试,但我确信我做错了。
SELECT qa.ID, qa.ATTRIBUTE_ID
FROM QUESTION_ATTRIBUTES qa
WHERE(
(qa.ID,qa.ATTRIBUTE_ID) IN (Values (qa.ID,4),(qa.ID,6),(qa.ID,7))
AND (qa.ID,qa.ATTRIBUTE_ID) NOT IN (Values (qa.ID,1),(qa.ID,2),(qa.ID,3))
)
感谢您的任何建议。
答案 0 :(得分:2)
您可以使用聚合和having
子句来处理此问题:
select qa.id
from question_attributes
group by qa.id
having min(Attribute_ID) = 6 and max(Attribute_ID) = 6;