でASを選択:MySQLの - これは動作しません何らかの理由でWHERE
select substring(rating, instr(rating,',') +1, +2) as val
from users where val = '15';
は、このエラーを与える:ERROR 1054(42S22): 'where句'
どう不明な列 'val' を私はそれをしますか?
でASを選択:MySQLの - これは動作しません何らかの理由でWHERE
select substring(rating, instr(rating,',') +1, +2) as val
from users where val = '15';
は、このエラーを与える:ERROR 1054(42S22): 'where句'
どう不明な列 'val' を私はそれをしますか?
WHERE
句では、最初にALIAS
を使用することはできません。あなたが列を使用することshoul次のように、
SELECT SUBSTRING(rating, INSTR(rating,',') +1, +2) AS val
FROM users
WHERE SUBSTRING(rating, INSTR(rating,',') +1, +2) = '15'
理由は、操作の順序はSQLで、
ALIAS
電子はWHERE
句の前にあるSELECT
句で行われます。
あなたが本当にエイリアスを使用したい場合は、サブクエリでそれをラップし、
SELECT *
FROM
(
SELECT SUBSTRING(rating, INSTR(rating,',') +1, +2) AS val
FROM users
) s
WHERE val = '15'
val
あなたが見つける_ever_た場合は、その
SELECT SUBSTRING(rating, INSTR(rating,',') +1, +2) AS val
FROM users
WHERE SUBSTRING(rating, INSTR(rating,',') +1, +2) = 15
のようなそれ.doというそのわずかエイリアスを定義されていません自分自身が列の一部を処理する必要がある場合、スキーマは間違っています。 – paxdiablo