Originariamente inviato da JoeP
Era per fare un esempio semplificato, il realtà la restrizione è poco più complessa, e anche la condizione dell'IF. Ma questo non ha importanza. Ho necessità di tenere il nome del campo calcolato uguale a quello della tabella (che comunque non prendo nella lista dopo SELECT, quindi ambiguità non ci sono) altrimenti dovrei cambiare in molti punti di molte pagine il codice PHP (uso array associativi tipo $record['eta'] per leggere i risultati delle query).

Sto leggnedo la documentazione relativa a HAVING ma non capisco bene come funziona.
Scusa, ma mi suona male la cosa..... siccome il where viene applicato "prima" della selezione l'alias non e' determinato ma il nome del campo "eta" si. Se il campo "eta" non ci fosse come reale ma solo come alias, allora capirei che non e' ancora definito....

dovrebbe funzionare cosi....

risolve il nome tabella
raccoglie i record che rispondono alla condizione where
seleziona i campi richiesti
applica se richiesto il raggruppamento


Forse il tutto si potrebbe comprendere con la query reale.

HAVING si usa per selezionare ulteriormente dei record dopo la scelta del where. Si usa solitamente con group by