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