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

MySQLエラー1349何が欠けていますか?

    MySQLのビューがfromのサブクエリを許可しないという事実を見逃しています 句。 selectで許可されています およびwhere およびhaving ただし、条項。

    ドキュメント 非常に明確です:

    あなたの場合、おそらくfromを書き直すことができます selectの相関サブクエリとしての句 句。複数のビューレイヤーを使用して、やりたいことを実行することもできます。

    編集:

    SQLのSELECTステートメントには、次の句があります。SELECTFROMWHEREGROUP BYHAVING 、およびORDER BY (規格による)。さらに、MySQLはLIMITのようなものを追加します 、およびINTO OUTFILE 。これは、MySQLがSELECTを記述する方法で確認できます。 ドキュメント の条項 。これは、ほとんどすべてのデータベースのドキュメントでも確認できます。

    joinなどの操作 FROMの一部です 句(同様にWITH ROLLUP GROUP BYの一部です およびDESC ORDER BYの一部です )。これらは難解な構文規則のように見えるかもしれませんが、上記のような制限がある場合に重要になります。

    おそらく、混乱の理由の1つは、次のようなインデントスタイルです。

    select . . .
    from t1
    inner join t2
         on . . .
    

    結合ステートメントがselectの下に並んでいる場所 。これは誤解を招く恐れがあります。私はこれを次のように書きます:

    select 
    from t1 join
         t2
         on . . .
    

    selectのみ 句はselect.の下に並んでいます



    1. このDjango(1.6)の注釈カウントが非常に遅いのはなぜですか?

    2. レプリケーションに使用されるEBSボリュームのスナップショット

    3. MySQLのパフォーマンス:MySQLとMariaDB

    4. PythonCGIMySQLスクリプトの出力を返す