2013-07-22 101 views
-4

這些都是我的表簡化..SELECT TOP 1對每個參考ID

person 
(id [int], 
    surname [varchar] (30), 
    ref [int], 
) 

episode 
(
    id [int], 
    ref [int], 
    typeId [int], 
    startDate [datetime] 
) 

type 
(
    typeId [int], 
    typeName [varchar] 
) 

我想選擇所有誰擁有超過1個情節和最古老的插曲開始後,1月1日2013年我嘗試使用人Row_Number和分區,但我使用Sql Server 2005,它不喜歡Row_Number()。

+1

你不顯示什麼你試過和DB模式還遠未明朗。更新你的問題,如果你不想在幾分鐘之內關閉它... –

+0

你可以發佈你的代碼,你試過Row_Number()?它應該在SQL 2005上工作:http://stackoverflow.com/questions/1471879/sql-server-2005-row-number – JeffO

回答

3

使用:

having count(*)>1 
and min(startDate) >'1 Jan 2013' 

編輯:下面的評論是正確的

+0

'min(stardate)'改爲(最老的一集) –

+0

+1現在它是正確的:) –