I have an issue with my query,
SELECT id, pseudo, nom, prenom, sexe, ville,
FLOOR(DATEDIFF (NOW(), date_naissance)/365) AS mAge
FROM user
WHERE sexe = 'Homme' AND mAge BETWEEN 18 AND 25 OR ville = 'Bordeaux'
It is supposed to return the matching user with the where condition.
The problem is the following, mAge is not existing I get the following error :
1054 - Unknown column 'mAge' in 'where clause'
Looks like my alias is not working properly on the where condition.
If I remove the mAge WHERE CLAUSE, I successfully get the mAge alias.
I need you guys
Thanks in advance !
解决方案
You will have to rethink your query or change to:
SELECT id, pseudo, nom, prenom, sexe, ville,
FLOOR(DATEDIFF (NOW(), date_naissance)/365) AS mAge
FROM user
WHERE sexe = 'Homme' AND
FLOOR(DATEDIFF (NOW(), date_naissance)/365) BETWEEN 18 AND 25
OR ville = 'Bordeaux'
Ps you may also want to have a look at your ANDs and ORs as well as you might want to include some brackets.