【发布时间】:2016-10-25 00:54:10
【问题描述】:
谁能告诉我为什么我在最后一个 ELSE 语句中收到了不正确的语法错误。
SELECT
CASE WHEN PolType = 'PKG' THEN
CASE WHEN PkgDef & 1 = 1 THEN 'BA ' ELSE
CASE WHEN PkgDef & 2 = 2 THEN 'BAT' ELSE
CASE WHEN PkgDef & 4 = 4 THEN 'GS ' ELSE
CASE WHEN PkgDef & 8 = 8 THEN 'DLR' ELSE
'ERR' END
ELSE
poltype
END AS 'PolType'
FROM Parallel_Test.dbo.PolicyG
WHERE rowid = (SELECT MAX(rowid) FROM Parallel_Test.dbo.policyg) - 10
【问题讨论】:
-
这是用于 MSSQL、MySQL 还是什么?请告诉我们您使用的是什么 SQL。
-
(Sql Server 2008) 这个语句有4层嵌套Case语句是你的本意吗?
标签: sql sql-server