Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyelesaikan Ralat 'View's SELECT Mengandungi Subquery dalam Klausa FROM' dalam MySQL?
Ralat: View's SELECT Mengandungi Subquery dalam Klausa FROM
Perihalan masalah:
Anda cuba membuat paparan tetapi menghadapi ralat "Penyataan SELECT View mengandungi FROM subquery dalam klausa". Pertanyaan yang anda berikan adalah seperti berikut:
create view view_credit_status as (select credit_orders.client_id, sum(credit_orders.number_of_credits) as purchased, ifnull(t1.credits_used,0) as used from credit_orders left outer join (select * from (select credit_usage.client_id, sum(credits_used) as credits_used from credit_usage group by credit_usage.client_id) as t0 ) as t1 on t1.client_id = credit_orders.client_id where credit_orders.payment_status='Paid' group by credit_orders.client_id)
Punca:
Menurut dokumentasi MySQL, pernyataan SELECT tidak boleh mengandungi subquery dalam klausa FROM.
Penyelesaian:
Penyelesaian anda ialah membuat paparan untuk setiap subkueri. Anda kemudiannya boleh mengakses paparan ini daripada view view_credit_status.
# 创建包含子查询的视图: create view sum_credit_usage as select client_id, sum(credits_used) as credits_used from credit_usage group by client_id; # 创建您的最终视图: create view view_credit_status as (select credit_orders.client_id, sum(credit_orders.number_of_credits) as purchased, ifnull(sum_credit_usage.credits_used, 0) as used from credit_orders left outer join sum_credit_usage on t1.client_id = credit_orders.client_id where credit_orders.payment_status='Paid' group by credit_orders.client_id);
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Ralat 'View's SELECT Mengandungi Subquery dalam Klausa FROM' dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!