Ok, dzięki za wytłumaczenie, ale dopytam.
Cytat(mortus @ 12.04.2013, 08:30:07 )

Nie chodzi również o to, że "alias" w WHERE jest niewidoczny, bo to nie do końca prawda. Alias jest niewidoczny w WHERE ze względu na to, że używasz funkcji agregującej SUM w połączeniu z grupowaniem GROUP BY po kolumnie id, przy czym grupowanie odbywa się na końcu. Zapytanie najpierw szuka wierszy spełniających warunek WHERE `isComment`= 0 (ta kolumna w tej chwili nie istnieje stąd błąd), a dopiero później grupuje wyniki i sumuje wartości (dopiero wtedy "powstaje" kolumna `isComment` i dlatego w WHERE jej "nie widać"). HAVING natomiast działa na pogrupowanych już rekordach.
Rozumiem że ta kolumna nie istnieje w momencie wywołania tego przypadku. Mam rozumieć że jeśli zastosuje alias do istniejącej kolumny to on będzie widoczny w warunku where? Bo z tego co wyczytałem to alias(dla pola-kolumny) jest widoczny w having, order by i group by. Taką informację dostałem również na innym forum, dlatego chciałbym to wyjaśnić żeby wiedzieć "co mogę" a co nie w zapytaniu użyć.
Cytat(mortus @ 12.04.2013, 08:30:07 )

Poza tym zaleca się w tym przypadku w ramach optymalizacji denormalizację bazy danych i dodanie kolumny przechowującej sumę w danej tabeli.
W przypadku do którego chciałem użyć zapytanie, baza jest rozbudowana, denormalizacja jej będzie czasochłonna.