sql >> データベース >  >> RDS >> Mysql

MySQL-WHEREでのSELECTAS

    まず、ALIASは使用できません WHERE 句。コラムを使用する必要があります

    SELECT SUBSTRING(rating, INSTR(rating,',') +1, +2) AS val 
    FROM   users 
    WHERE  SUBSTRING(rating, INSTR(rating,',') +1, +2) = '15'
    

    その理由は次のとおりです。操作の順序はSQLです。

    • FROM句
    • WHERE句
    • GROUPBY句
    • HAVING句
    • SELECT句
    • ORDERBY句

    ALIAS SELECTで行われます WHEREの前にある句 条項。

    エイリアスを本当に使用したい場合は、サブクエリでラップします。

    SELECT *
    FROM
        (
            SELECT SUBSTRING(rating, INSTR(rating,',') +1, +2) AS val 
            FROM   users
        ) s
    WHERE   val  = '15'
    


    1. ORA-01618

    2. エントリが存在しない場合は作成し、存在しない場合は更新しますか?

    3. mysqlデータベースからのBLOBイメージを表示するためにPHPページが必要です

    4. SQLServerでエラーメッセージ7325を修正する方法:「CLRタイプの列を公開するオブジェクトは分散クエリでは許可されていません」