Avoir une complète erreur mentale SQL aujourd'hui et ne peut pas comprendre cela. ColdFusion et MS AccessSQL ... Obtenir la valeur de champ basé sur la valeur maximale d'un autre champ
Je cherche à faire une requête de requête dans ColdFusion.
requête d'origine:
<cfquery name="myQuery" datasource="xxx">
SELECT Name, ID, tblLoc.Directions, tblLoc.LocationOrder
FROM myTable
WHERE .....
ORDER BY tblLoc.LocationOrder
</cfquery>
Je veux créer une autre requête de cette requête où je récupère les directions où LocationOrder est max.
Ainsi, si myQuery retourné:
Name ID Directions LocationOrder
AA 10 AAAAAA 1
BB 11 BBBBBB 2
My QoQ would return:
Directions
BBBBBB
Mais chaque itération d'un SQL simple en apparence que j'ai essayé échoue. Je dois être à moitié endormi ou quelque chose.
<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>
non non.
Votre premier ressemble à ça devrait fonctionner. 'SELECT Instructions FROM myQuery WHERE LocationOrder = (sélectionnez max (LocationOrder) from myQuery)' –
Je suis d'accord mais j'obtiens cette erreur: Erreur de syntaxe Query Of Queries. Rencontré "LocationOrder = (sélectionnez.Expression conditionnelle incorrecte, Attendue de la condition [like | null | between | in | comparison], – stuttsdc
QoQ ne prend pas en charge ce type de sous-requête. Ils sont en mémoire (et non en base de données) et * seulement * prennent en charge la syntaxe répertoriée dans la documentation. http://livedocs.adobe.com/coldfusion/8/using_recordsets_3.html. – Leigh