mysql - SQL 引用 WHERE 子句中的别名

标签 mysql sql coldfusion coldfusion-10

我目前正在处理一个查询,该查询在一个查询中获取所有相关数据和库存水平,而不是单独遍历库存水平。到目前为止,我已经通过这样做设法获得了这些库存水平:

<cfquery datasource="datasource" name="get">
    Select *,
    (
        Select IsNull(Sum(stocklevel))
        From itemstock
        Where item_id = itemstock_itemid
    ) As stock_count
    From items
    Where item_id = #URL.item_id#
</cfquery>

现在我尝试在“Where”子句后添加的术语是:

And get.stock_count > 0

然而,这只是抛出一个错误,并表示它不是一个有效的字段(这是有道理的)我想知道,我如何引用该总和?

最佳答案

要引用别名,请使用派生表:

select * from 
(Select *,
(
    Select IsNull(Sum(stocklevel), 0)
    From itemstock
    Where item_id = itemstock_itemid
) As stock_count
From items
Where item_id = <cfqueryparam value="#URL.item_id#">
) derived_table
where stock_count > 0

请注意,我的查询参数标记不完整。它需要一个数据类型,但您可以做到这一点。

关于mysql - SQL 引用 WHERE 子句中的别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19493462/

相关文章:

SQL Order By Custom CASE WHEN 排序

sql - 创建所有可能的组合

coldfusion - 使用 CFLocation - CF9 重定向到新选项卡

coldfusion - 在 Coldfusion/CFML 中,如何将长十进制数格式化为标准的两位数百分比?

mysql - SQL SUM() 函数字段

mysql - 如何在 MySQL 用户名中使用动态 DNS 名称?

php - 来自 MySQL 查询的嵌套数组 - 在 foreach 循环中显示记录的逻辑

Python peewee save() 没有按预期工作

sql - DB2 AS/400 iseries 在 where 子句中使用别名

coldfusion - 在 cfquery 中嵌入 cfswitch