选择时出错

时间:2013-12-14 01:13:10

标签: sql sql-server sql-server-2005

我正在尝试做这样的选择 -

SELECT COUNT(*)
FROM
(
DECLARE @Emp varchar(100)
SET @Emp = 'Rick'
SELECT *
FROM [Temporary].[dbo].[Employee_Test]
WHERE [Emp_Name] = @Emp
) AS EMPS

我知道我可以通过在外部选择之前放置DECLARE语句来解决此问题。但是,由于一些糟糕的设计,我宁愿能够按原样使用内部查询,然后计算其中的行数。我该怎么做?

我得到的错误是 -

  

Msg 156,Level 15,State 1,Line 4
  关键字'DECLARE'附近的语法不正确。
  Msg 102,Level 15,State 1,Line 9
  ')'

附近的语法不正确

2 个答案:

答案 0 :(得分:0)

DECLARE @Emp varchar(100)
SET @Emp = 'Rick';

SELECT COUNT(*)
FROM [Temporary].[dbo].[Employee_Test]
WHERE [Emp_Name] = @Emp

在将变量传递给SELECT语句之前,需要声明变量并设置其值。您不能在Select语句中声明变量。

答案 1 :(得分:-1)

你应该在SET语句后放一个分号吗?

SET @EMP ='Rick';