MySQL - SELECT là OÙ l'
Pour une raison quelconque, cela ne fonctionne pas:
select substring(rating, instr(rating,',') +1, +2) as val
from users where val = '15';
Il donne cette erreur:
ERREUR 1054 (42S22): Unknown column 'val' in 'where clause'
Comment dois-je faire ensuite?
- Si jamais vous vous trouvez avoir à traiter les parties d'une colonne, votre schéma est faux.
Vous devez vous connecter pour publier un commentaire.
Tout d'abord, vous ne pouvez pas utiliser
ALIAS
sur leWHERE
clause. Vous shoul être à l'aide de la colonne,La raison est la suivante: l'ordre des opérations est SQL,
la
ALIAS
prend place sur leSELECT
clause qui est devant l'WHERE
clause.si vous voulez vraiment utiliser l'alias, de l'envelopper dans une sous-requête,
GROUP BY
,HAVING
etORDER BY
clauses.val
n'est pas défini, c'est juste un alias. De faire comme ceci:Vous pouvez utiliser cette requête