請參閱下面的DDL:使用SQL或TSQL
CREATE TABLE Groups
(
GroupID integer not null,
Dataset int,
URN int,
DateAdded datetime
)
INSERT INTO Groups(1,1,100,'2010-01-01')
INSERT INTO Groups(1,1,191,'2011-01-01')
INSERT INTO Groups(1,1,65,'2012-01-01')
INSERT INTO Groups(1,2,121,'2013-01-01')
INSERT INTO Groups(2,1,87,'2010-01-01')
INSERT INTO Groups(2,1,1081,'2011-01-01')
INSERT INTO Groups(2,1,32,'2012-01-01')
INSERT INTO Groups(2,1,16,'2013-01-01')
INSERT INTO Groups(2,2,66,'2013-01-01')
我試圖返回一個表是這樣的:
100 191
100 65
87 1081
87 32
87 16
塔1組ID和列2是URN。列表滿足標準:
選自
始終顯示最早URN獲取爲1的數據集中的所有記錄(使用dateadded)在第1列(其中,數據集= 1)。在柱2把另一個URN選自(其中數據集= 1)
確保所有的URN(WHERE數據集= 1)從該組中的第2列中出現一次,除了出現在列中的URN 1
我相信我必須以編程方式(使用TSQL)來完成此操作,但是我想知道是否有一種使用SQL的方法。
您的結果不符合你們所要求的。根據你的要求,你應該只能得到2條記錄(每組一個)。 – 2015-02-11 21:34:16
@D斯坦利,我編輯了要求,試圖使其更加清晰。 – w0051977 2015-02-11 21:37:16
它仍然不匹配。組1中最古老的URN爲100,而組2中最古老的URN爲78.除了最老的一個,您正在顯示所有記錄。 – 2015-02-11 21:39:12