ฉันมีสองตารางและฉันต้องการสร้างมุมมอง ตารางคือ:
credit_orders(id, client_id, number_of_credits, payment_status)
credit_usage(id, client_id, credits_used, date)
ฉันใช้แบบสอบถามต่อไปนี้เพื่อทำสิ่งนี้ คำค้นหาที่ไม่มีส่วน "create view" ทำงานได้ดี แต่เมื่อใช้ "create view" จะแสดงข้อผิดพลาด "View's SELECT มีคิวรีย่อยใน FROM clause" ปัญหาและแนวทางแก้ไขที่เป็นไปได้คืออะไร:
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)
10.2
จากเวอร์ชัน10.2.1
See - jira.mariadb.org/browse/MDEV-3944