一尘不染

SQL Server CASE .. WHEN .. IN语句

sql

在SQL Server 2005上,我正在尝试查询此选择语句

SELECT AlarmEventTransactionTableTable.TxnID,
       CASE AlarmEventTransactions.DeviceID
         WHEN DeviceID IN( '7', '10', '62', '58',
                           '60', '46', '48', '50',
                           '137', '139', '142', '143', '164' )
           THEN '01'
         WHEN DeviceID IN( '8', '9', '63', '59',
                           '61', '47', '49', '51',
                           '138', '140', '141', '144', '165' )
           THEN '02'
         ELSE 'NA'
       END AS clocking,
       AlarmEventTransactionTable.DateTimeOfTxn
FROM   multiMAXTxn.dbo.AlarmEventTransactionTable

它返回下面的错误

消息156,级别15,状态1,第4行关键字“ IN”附近的语法错误。

请给我一些有关我的代码可能出问题的建议。


阅读 151

收藏
2021-05-05

共1个答案

一尘不染

CASE AlarmEventTransactions.DeviceID应该只是CASE

您正在混合表达式的2种形式CASE

2021-05-05