Why doesn't the following query work? Mysql complains about z - can't I use an alias in the WHERE clause?
SELECT x + y AS z, t.* FROM t
WHERE
x = 1 and
z = 2
The error that I get is:
Error Code : 1054
Unknown column 'z' in 'where clause'
Why doesn't the following query work? Mysql complains about z - can't I use an alias in the WHERE clause?
SELECT x + y AS z, t.* FROM t
WHERE
x = 1 and
z = 2
The error that I get is:
Error Code : 1054
Unknown column 'z' in 'where clause'
http://dev.mysql.com/doc/refman/5.0/en/problems-with-alias.html
Try this, instead:
Use having clause:
You should be aware that the usage of the HAVING clause without a GROUP BY clause is a non-standard extension of MySQL and won't work in other databases.
If you want this to be portable, you need to use a derived table: