Primeiro, você não pode usar
ALIAS
no WHERE
cláusula. Você deve estar usando a coluna, SELECT SUBSTRING(rating, INSTR(rating,',') +1, +2) AS val
FROM users
WHERE SUBSTRING(rating, INSTR(rating,',') +1, +2) = '15'
O motivo é o seguinte:a ordem de operação é SQL,
- cláusula FROM
- cláusula WHERE
- Cláusula GROUP BY
- cláusula HAVING
- cláusula SELECT
- Cláusula ORDER BY
o
ALIAS
ocorre no SELECT
cláusula que está antes do WHERE
cláusula. se você realmente quiser usar o alias, envolva-o em uma subconsulta,
SELECT *
FROM
(
SELECT SUBSTRING(rating, INSTR(rating,',') +1, +2) AS val
FROM users
) s
WHERE val = '15'