SQL中的case语句中的列名无效

时间:2017-08-25 15:30:05

标签: sql sql-server

我有一个SQL查询,其中包含以下SELECT术语:

SUM(CASE WHEN JobResponses.result = "true" THEN 1 ELSE 0 END) AS [True],
SUM(CASE WHEN JobResponses.result = "false" THEN 1 ELSE 0 END) AS [False],

但是,当我使用这是一个SQL Server查询时,我得到了语法错误:

  

无效的列名称'true'。

显然result是对列名的引用,为什么我会收到此错误?它似乎在SQLite上工作正常吗?

2 个答案:

答案 0 :(得分:2)

你正在使用“围绕真假,应该是'单引号。

SQL使用“作为列标识符。

答案 1 :(得分:1)

使用单引号可以解决问题:

SUM(CASE WHEN JobResponses.result = 'true' THEN 1 ELSE 0 END) AS 'True',
SUM(CASE WHEN JobResponses.result = 'false' THEN 1 ELSE 0 END) AS 'False',