今天有一个完整的SQL智能失效,无法弄清楚。 ColdFusion和MS AccessSQL ...基于其他字段的最大值获取字段值
我正在寻找在ColdFusion中查询查询。
原始查询:
<cfquery name="myQuery" datasource="xxx">
SELECT Name, ID, tblLoc.Directions, tblLoc.LocationOrder
FROM myTable
WHERE .....
ORDER BY tblLoc.LocationOrder
</cfquery>
我想从这个查询,我检索路线,其中LocationOrder是最大创建另一个查询。
因此,如果更改为MyQuery返回:
Name ID Directions LocationOrder
AA 10 AAAAAA 1
BB 11 BBBBBB 2
My QoQ would return:
Directions
BBBBBB
但看似简单的SQL我已经试过的每次迭代失败。我必须半睡半醒。
<cfquery name="latestDirections" dbtype="query">
SELECT Directions
FROM myQuery
WHERE LocationOrder=(select max(LocationOrder) from myQuery)
</cfquery>
<cfquery name="latestDirections" dbtype="query">
SELECT Directions, MAX(LocationOrder) as maxLocationOrder
FROM get_sel_locations
</cfquery>
nope ...既不会。
你的第一个看起来像它应该工作中列出的功能/语法。 `SELECT Directions FROM myQuery WHERE LocationOrder =(从myQuery中选择max(LocationOrder))` – 2010-12-01 14:14:24
我同意但我得到这个错误:Query Of Queries语法错误。 遇到“LocationOrder =(选择。不正确的条件表达式,期望[like | null | between | in | comparison]条件之一, – stuttsdc 2010-12-01 14:31:29
QoQ不支持该类型的子查询。它们在内存中(而不是数据库)查询,*只*支持文档中列出的语法。 http://livedocs.adobe.com/coldfusion/8/using_recordsets_3.html。 – Leigh 2010-12-01 16:02:11