Ответ 1
Во-первых, вы не можете использовать ALIAS
в предложении WHERE
. Вы используете столбец,
SELECT SUBSTRING(rating, INSTR(rating,',') +1, +2) AS val
FROM users
WHERE SUBSTRING(rating, INSTR(rating,',') +1, +2) = '15'
Причина такова: порядок работы - SQL,
- Предложение FROM
- Предложение WHERE
- Предложение GROUP BY
- Предложение HAVING
- Предложение SELECT
- Предложение ORDER BY
ALIAS
выполняется в предложении SELECT
, которое находится перед предложением WHERE
.
если вы действительно хотите использовать псевдоним, оберните его в подзапрос,
SELECT *
FROM
(
SELECT SUBSTRING(rating, INSTR(rating,',') +1, +2) AS val
FROM users
) s
WHERE val = '15'