我想在select語句(SQL Server 2008)中使用變量,並且遇到一些困難。我已經在下面包含了我的代碼。在case語句中,在select語句中使用變量
DECLARE @newFieldName nvarchar(30)
SET @newFieldName = 'Variable 1'
SELECT
SUM(CASE WHEN @newFieldName IN ('x', 'y' ,'z') then 1 ELSE 0 END) as "Default",
SUM(CASE WHEN @newFieldName NOT IN ('x', 'y' ,'z') then 1 ELSE 0 END) as "Not Default"
FROM table 1
我沒有得到正確的結果。但是,當我使用下面,我做到了。
SELECT
SUM(CASE WHEN [Variable 1] IN ('x', 'y' ,'z') then 1 ELSE 0 END) as "Default",
SUM(CASE WHEN [Variable 1] NOT IN ('x', 'y' ,'z') then 1 ELSE 0 END) as "Not Default"
FROM [table 1]
任何幫助將不勝感激。謝謝。
感謝@Gordon Linoff。我的問題是如何使用DECLARE/SET來聲明[Variable 1]?這可能是一個更復雜的任務。 – user3022742