2014-10-17 99 views
0

我需要從下面的表,其容器ID不說頭內複製和跟蹤ID Set.Tracking標識也應該是一個頭ID從SQL子集選擇行

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 
唯一選擇標題ID

結果集應該是這樣的:

Header ID 
xx 
yy 

SQL服務器

+1

哪個數據庫 - sql server,mysql,oracle,postgres ??? – 2014-10-17 06:27:51

+0

您可以使用** Group by ** – 2014-10-17 06:36:01

回答

1

試試這個,讓我知道這是否是你想要的。我用這個SQL服務器。有一段時間我不會在論壇上。所以,一段時間不會對你做出迴應。

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 
+0

我只需要標題ID列中的跟蹤ID相同,但在該子集容器ID應該是不同的。我們應該消除具有重複容器ID的所有標題ID ...與標題ID一樣,zz具有重複的容器標識(123)。因此,zz應該從結果集中省略。 – 2014-10-17 09:26:14