Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyelesaikan Ralat 'View's SELECT Mengandungi Subquery dalam Klausa FROM' dalam MySQL?

Bagaimana untuk Menyelesaikan Ralat 'View's SELECT Mengandungi Subquery dalam Klausa FROM' dalam MySQL?

Patricia Arquette
Patricia Arquetteasal
2025-01-04 05:58:39237semak imbas

How to Resolve

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn