2013-07-22 57 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现在它是正确的:) –