我可以使用SQL案例来选择表吗?

Tod*_*nce 1 sql sql-server-2008

我正在尝试这个并得到一个错误.

SELECT Count(*) FROM
        CASE @Type
            WHEN 'UserName' THEN Users WHERE UserName = @Name;                              
            WHEN 'UserGroup' THEN Groups Where GroupName = @GroupName AND GroupType = 'USERGROUP'
        END
Run Code Online (Sandbox Code Playgroud)

我知道你通常在'='符号后使用案例......但有没有办法做我在这里尝试的事情?

sql server 2008.

Mat*_*lie 5

您需要编写动态SQL并执行它,或者我们使用IF语句和两个查询...

IF (@type = 'UserName')
  SELECT COUNT(*) FROM Users WHERE UserName = @name
ELSE IF (@type = 'UserGroup')
  SELECT COUNT(*) FROM Groups WHERE GroupName = @GroupName AND GroupType = 'USERGROUP'
Run Code Online (Sandbox Code Playgroud)