SQL Server,表的结果为“Column”或“COUNT(Column)”,具体取决于参数?

时间:2010-02-23 08:04:41

标签: sql-server tsql sql-server-2000

这是我编写的T-SQL代码,我想它可以工作但不起作用:

DECLARE @Local nvarchar(20)
SET @Local = 'Yes'

SELECT 
(CASE WHEN @Local = 'Yes' THEN ID ELSE COUNT(ID) END)
FROM myTable

我做错了什么或者还有其他办法吗?

感谢。

2 个答案:

答案 0 :(得分:2)

IF ( @Local = 'Yes' )
    SELECT ID FROM MyTable
ELSE
    SELECT COUNT(ID) FROM MyTable

答案 1 :(得分:0)

这两个查询根本不同,所以“不”,就像你发布的那样

您可以在一个电话中同时执行这两项操作

SELECT 
ID
FROM myTable
COMPUTE SUM(ID)

或使用@@ ROWCOUNT

或使用AdaTheDev的解决方案