我正在尝试做这样的选择 -
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
')'
答案 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';