sql server“top 1”限制

时间:2013-03-13 10:28:16

标签: sql sql-server

我有一个问题:

select @MyVariable = SomeField from SomeTable <...>

如果我将它移出@MyVariable -

select SomeField from SomeTable <...>

它做同样的工作,一切都很好。

现在我想为查询添加前1个限制,以便它看起来像这样

select top 1 SomeField from SomeTable <...>

效果很好。

最后,我想将这个前1添加到设置MyVariable的初始查询中,并且它不起作用:

select @MyVariable = top 1 SomeField from SomeTable <...>

我收到此错误消息 -

  

Msg 156,Level 15,State 1,Line 25关键字附近的语法不正确   '顶部'。

有没有办法让它正确?

3 个答案:

答案 0 :(得分:1)

您必须将top 1替换为@MyVariable = SomeField,如下所示:

select top 1  
       @MyVariable = SomeField 
from SomeTable <...>

答案 1 :(得分:1)

尝试:

select top 1 @MyVariable =SomeField from SomeTable <...>

答案 2 :(得分:1)

  

你可以这样做:

SELECT TOP 1  
   @MyVariable = SomeField 
FROM SomeTable <...>