SQL DB2-基于对另一列唯一的列值选择查询

SQL DB2-基于对另一列唯一的列值选择查询,sql,db2,distinct,unique-constraint,Sql,Db2,Distinct,Unique Constraint,我有一个包含以下字段的表: 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

我有一个包含以下字段的表:

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
基本上,我需要编写一个与'Attribute_ID'=6关联的'ID',而不是与'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))            
        )

感谢您的建议。

您可以使用聚合和
have
子句来解决此问题:

select qa.id
from question_attributes
group by qa.id
having min(Attribute_ID) = 6 and max(Attribute_ID) = 6;

谢谢你的解决方案。我想它会起作用的。通过更改最后一句“having min(Attribute_ID)=4和max(Attribute_ID)=7;”@卡提克。这个改变并不能回答您的问题,这是关于属性“6”的。如果您确实需要另一个条件,您可以使用
having
子句来实现。