我试图通过使用具有多个 CASE 语句的单个 SELECT 将查找表中包含的值分配给多个变量。
该表是一个具有两列的查找表,如下所示:
[GreekAlphabetastic]
SystemID Descriptor
-------- ----------
1 Alpha
2 Beta
3 Epsilon
这是我的语法:
SELECT
@VariableTheFirst =
CASE
WHEN myField = 'Alpha' THEN tbl.SystemID
END,
@VariableTheSecond =
CASE
WHEN myField = 'Beta' THEN tbl.SystemID
END,
@VariableTheThird =
CASE
WHEN myField = 'Epsilon' THEN tbl.SystemID
END
FROM GreekAlphabetastic tbl
但是,当我在该语句执行后检查变量时,我希望每个变量都被分配适当的值,但只有最后一个被分配了值。
SELECT
@VariableTheFirst AS First,
@VariableTheSecond AS Second,
@VariableTheThird AS Third
Results:
First Second Third
NULL NULL 3
我究竟做错了什么?