SELECT * FROM dbo.Sample ORDER BY Site
Site Data
1 Cat
1 Mule
1 Pig
2 Giraffe
2 Dog
2 Horse
2 Mule
4 Cat
8 Dog
8 Pig
8 Mule
8 Bull
9 Bull
9 Giraffe
9 Moose
我想顯示的網站排序的數據,但排除已經在先前的網站排。 證明不是已經在網站1所示在站點1 站點2中所有項的所有項目等
所以結果顯示爲:
Site Data
---- ----
1 Cat
1 Mule
1 Pig
2 Dog
2 Giraffe
2 Horse
9 Moose
初始列表是從一個查詢與建幾個加入。
的工作的例子是:
SELECT * FROM dbo.Sample WHERE Site = 1
UNION
SELECT * FROM dbo.Sample WHERE Site = 2
AND Data NOT IN (SELECT Data FROM dbo.Sample WHERE Site < 2)
UNION
SELECT * FROM dbo.Sample WHERE Site = 8
AND Data NOT IN (SELECT Data FROM dbo.Sample WHERE Site < 8)
UNION
SELECT * FROM dbo.Sample WHERE Site = 9
AND Data NOT IN (SELECT Data FROM dbo.Sample WHERE Site < 9)
ORDER BY Site
我的網站的列表來自一個查詢也是如此。
選擇站點列表
1
2
4
8
9
鮮明的網站想必應該有一個簡單而有效的方式來做到這一點?
這裏有一個小提琴我爲這個... http://sqlfiddle.com/#!3/4cd0c/1 – Matt 2013-02-22 21:26:36
@馬特 - 謝謝! – 2013-02-22 21:27:13
甜 - 謝謝!我覺得有一個簡單的解決方案。 – kevro 2013-02-22 21:35:30