从SQL子集中选择行

从SQL子集中选择行,sql,duplicates,unique,subset,Sql,Duplicates,Unique,Subset,我需要从下表中选择标题ID,其容器ID在该标题和跟踪ID集中不重复。对于标题ID,跟踪ID也应该是唯一的 Header ID Tracking ID ContainerID xx abc 123 xx def 456 yy abc 123 yy def 456 zz

我需要从下表中选择标题ID,其容器ID在该标题和跟踪ID集中不重复。对于标题ID,跟踪ID也应该是唯一的

Header ID     Tracking ID      ContainerID
xx            abc                123
xx            def                456
yy            abc                123
yy            def                456
zz            ghi                123
zz            ghi                123
zz            ghi                456
结果集应如下所示:

Header ID
xx
yy

SQL Server

试试这个,如果它是您想要的,请告诉我。我使用SQL server来实现这一点。我暂时不在论坛上。所以,在一段时间内不会回复你

select r2.HeaderID
(
select r1.HeaderID, MAX(r1.cont_num) as max_c
from
(
select headerid,count(containerid) as cont_num
from dups
group by HeaderID, containerid
) as r1
group by r1.HeaderID
having MAX(r1.cont_num) = 1
) as r2

哪个数据库-sql server、mysql、oracle、postgres???您可以使用Group byI来实现这一点。我只需要标题ID列,其中跟踪ID相同,但在该子集中,容器ID应该不同。我们应该消除所有具有重复容器ID的标题ID…就像标题ID zz具有重复容器ID(123)…因此应从结果集中省略zz。