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?

Mary-Kate Olsen
Lepaskan: 2024-12-25 22:13:13
asal
673 orang telah melayarinya

How to Resolve the

"View's SELECT Mengandungi Subquery dalam Klausa FROM": Menyelesaikan Isu

Apabila cuba mencipta paparan berdasarkan dua jadual, credit_orders dan credit_usage, pertanyaan mengembalikan ralat yang menunjukkan "View's SELECT mengandungi subquery dalam DARIPADA klausa." Ralat ini berlaku kerana dokumentasi MySQL secara eksplisit melarang kehadiran subkueri dalam klausa FROM bagi pernyataan SELECT paparan.

Untuk menyelesaikan isu ini dan berjaya mencipta paparan, adalah perlu untuk mencipta paparan berasingan bagi setiap subkueri. Ini melibatkan membuat paparan perantara untuk pengiraan kredit yang dibeli dan pengiraan kredit yang digunakan.

Untuk pengiraan kredit yang dibeli, pertanyaan berikut boleh digunakan:

CREATE VIEW view_purchased_credits AS
SELECT
  client_id,
  SUM(number_of_credits) AS purchased
FROM credit_orders
GROUP BY client_id;
Salin selepas log masuk

Untuk pengiraan kredit yang digunakan , pertanyaan berikut boleh digunakan:

CREATE VIEW view_credits_used AS
SELECT
  client_id,
  SUM(credits_used) AS used
FROM credit_usage
GROUP BY client_id;
Salin selepas log masuk

Setelah pandangan perantara ini dibuat, ia adalah mungkin untuk mencipta paparan view_credit_status dengan mengakses paparan perantara:

CREATE VIEW view_credit_status AS
SELECT
  co.client_id,
  v1.purchased,
  v2.used
FROM credit_orders AS co
LEFT JOIN view_purchased_credits AS v1
  ON v1.client_id = co.client_id
LEFT JOIN view_credits_used AS v2
  ON v2.client_id = co.client_id
WHERE
  co.payment_status = 'Paid';
Salin selepas log masuk

Dengan menghapuskan subkueri daripada klausa FROM dan menggunakan paparan perantara, paparan view_credit_status boleh berjaya dibuat tanpa mencetuskan ralat yang dikaitkan dengan subkueri dalam klausa FROM.

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan