MySQLのビューがfromのサブクエリを許可しないという事実を見逃しています 句。 selectで許可されています およびwhere およびhaving ただし、条項。
ドキュメント 非常に明確です:
あなたの場合、おそらくfromを書き直すことができます selectの相関サブクエリとしての句 句。複数のビューレイヤーを使用して、やりたいことを実行することもできます。
編集:
SQLのSELECTステートメントには、次の句があります。SELECT 、FROM 、WHERE 、GROUP BY 、HAVING 、および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.の下に並んでいます