Sto provando a fare una query per recuperare la regione che ha ottenuto il maggior numero di vendite di prodotti dolci. "grupo_produto" è il tipo di prodotto e "regiao" è la regione. Quindi ho ottenuto questa query:MS-Access -> SELECT AS + ORDER BY = errore
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
Quindi quando eseguo la query, MS-Access richiede il parametro "totale". Perché non considera la "colonna" appena creata nella clausola select?
Grazie in anticipo!
Non è possibile utilizzare l'alias, ma è possibile ripetere l'espressione di alias. Jet lo calcolerà solo una volta, quindi è solo inefficiente per quanto riguarda la digitazione. –
Non in questo caso. Si verificherà un errore se si tenta di ordinare dalla subquery pubblicata. – Fionnuala
"Gli alias sono utili solo nell'output della query" - Non sono d'accordo: penso che sia molto utile poter usare "alias" nella clausola 'ORDER BY'. – onedaywhen