繁体   English   中英

SQL DB2-根据另一列唯一的列值选择查询

[英]SQL DB2 - Select query based on a column value unique to another column

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

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))            
        )

感谢您的任何建议。

您可以使用聚合和having子句来解决这个问题:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM