For det første kan du ikke bruge ALIAS
på WHERE
klausul. Du skal bruge kolonnen,
SELECT SUBSTRING(rating, INSTR(rating,',') +1, +2) AS val
FROM users
WHERE SUBSTRING(rating, INSTR(rating,',') +1, +2) = '15'
Årsagen er som følger:rækkefølgen af operationen er SQL,
- FROM-klausul
- WHERE-sætning
- GROUP BY-klausul
- HAVING-sætning
- SELECT-sætning
- ORDER BY-klausul
ALIAS
foregår på SELECT
klausul, som er før WHERE
klausul.
hvis du virkelig ønsker at bruge aliaset, skal du pakke det ind i en underforespørgsel,
SELECT *
FROM
(
SELECT SUBSTRING(rating, INSTR(rating,',') +1, +2) AS val
FROM users
) s
WHERE val = '15'