Đầu tiên, bạn không thể sử dụng ALIAS
trên WHERE
mệnh đề. Bạn chắc chắn đang sử dụng cột,
SELECT SUBSTRING(rating, INSTR(rating,',') +1, +2) AS val
FROM users
WHERE SUBSTRING(rating, INSTR(rating,',') +1, +2) = '15'
Lý do là như sau:thứ tự hoạt động là SQL,
- Mệnh đề FROM
- Mệnh đề WHERE
- Mệnh đề GROUP BY
- Mệnh đề HAVING
- Mệnh đề SELECT
- Mệnh đề ORDER BY
ALIAS
diễn ra trên SELECT
mệnh đề trước WHERE
mệnh đề.
nếu bạn thực sự muốn sử dụng bí danh, hãy bọc nó trong một truy vấn con,
SELECT *
FROM
(
SELECT SUBSTRING(rating, INSTR(rating,',') +1, +2) AS val
FROM users
) s
WHERE val = '15'