ビューの FROM 句のサブクエリのトラブルシューティング
MySQL ビューの SELECT ステートメントを実行すると、「ビューの SELECT には FROM 句にサブクエリが含まれています」というエラーが発生しますFROM 句内にサブクエリが含まれています。 MySQL のドキュメントに従って、これは許可されていません。
view_credit_status という名前のビューを作成するクエリでこの問題に対処するには、次の解決策を検討してください:
問題のあるサブクエリは次のとおりです:
(select credit_usage.client_id, sum(credits_used) as credits_used from credit_usage group by credit_usage.client_id) as t0
このサブクエリ用に別のビューを作成します:
create view view_credit_usage_summary as select credit_usage.client_id, sum(credits_used) as credits_used from credit_usage group by credit_usage.client_id
view_credit_status ビューでは、サブクエリの代わりに新しい view_credit_usage_summary ビューを参照します。
create view view_credit_status as (select credit_orders.client_id, sum(credit_orders.number_of_credits) as purchased, ifnull(view_credit_usage_summary.credits_used,0) as used from credit_orders left outer join view_credit_usage_summary on view_credit_usage_summary.client_id = credit_orders.client_id where credit_orders.payment_status='Paid' group by credit_orders.client_id)
このアプローチにより、サブクエリが専用のビューに分離され、MySQL の制限に違反することなくその結果にアクセスできるようになります。
以上がMySQL で「ビューの SELECT には FROM 句にサブクエリが含まれています」を解決する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。