Estoy tratando de realizar una consulta para recuperar la región que obtuvo la mayor cantidad de ventas de productos dulces. 'grupo_produto' es el tipo de producto, y 'regiao' es la región. Así que me dio esta consulta:MS-Access -> SELECCIONAR AS + ORDER BY = error
SELECT TOP 1 r.nm_regiao, (SELECT COUNT(*)
FROM Dw_Empresa
WHERE grupo_produto='1' AND
cod_regiao = d.cod_regiao) as total
FROM Dw_Empresa d
INNER JOIN tb_regiao r ON r.cod_regiao = d.cod_regiao ORDER BY total DESC
Luego, cuando corro la consulta, MS-Access pregunta para el parámetro "total". ¿Por qué no considera la "columna" recién creada que hice en la cláusula de selección?
¡Gracias de antemano!
No puede usar el alias, pero puede repetir la expresión con alias. Jet lo calculará solo una vez, por lo que solo es ineficiente en lo que respecta a la escritura. –
No en este caso. Obtendrá un error si intenta ordenar por la subconsulta publicada. – Fionnuala
"Los alias solo son útiles en el resultado de la consulta" - No estoy de acuerdo: creo que es muy útil poder usar 'alias' en la cláusula 'ORDER BY'. – onedaywhen