我们使用基于ColdFusion的外壳软件,并使用SQL在我们的报告中创建数据库功能。我正在制作自定义报告以尝试从另一列中减去一列:更具体地说,从OCCUPANCY
中减去COUNT_OF_INSPECTION_TYPE
。该OCCUPANCY
列是基于以下代码:SQL报告错误 - [Macromedia] [SQLServer JDBC驱动程序] [SQLServer]无效的列名称
CONVERT(INT
, CASE
WHEN tblHalls.HALLNAME = 'Hall1' THEN 198
WHEN tblHalls.HALLNAME = 'Hall2' THEN 430
WHEN tblHalls.HALLNAME = 'Hall3' THEN 333
END
)
当我尝试一种新的功能OCCUPANCY - COUNT_OF_INSPECTION_TYPE
,我得到一个错误:
我不知道如果我解释这个权利。我会很感激你可以提供的任何帮助。
究竟是什么样的功能?哪个应用程序正在抛出错误?不知道更多,这听起来像一个SQL或报告问题。但是,如果没有更多细节,很难提供建议。 – Leigh
这是我收到的错误错误消息: 无法调用CFC - 执行数据库查询时出错。 错误详细信息: [Macromedia] [SQLServer JDBC驱动程序] [SQLServer]无效的列名称'OCCUPANCY'。 – DANNYJ1
(编辑)哦......你不能在同一级别的计算中(即在定义之前)使用*别名*。选择要么a)在计算中重复整个case语句或b)使用另一个选项,如CTE,派生查询,应用操作符等。请参阅http://sqlmag.com/blog/tip-apply-and-reuse-column-aliases – Leigh