>데이터 베이스 >MySQL 튜토리얼 >MySQL에서 '뷰의 SELECT에 FROM 절에 하위 쿼리가 포함되어 있습니다' 오류를 해결하는 방법은 무엇입니까?

MySQL에서 '뷰의 SELECT에 FROM 절에 하위 쿼리가 포함되어 있습니다' 오류를 해결하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-04 05:58:39288검색

How to Resolve

오류: View의 SELECT에 FROM 절에 하위 쿼리가 포함되어 있습니다.

문제 설명:

뷰를 생성하려고 하는데 "뷰의 SELECT 문에 FROM이 포함되어 있습니다"라는 오류가 발생했습니다. 절의 하위 쿼리". 제공하신 쿼리는 다음과 같습니다.

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)

원인:

MySQL 설명서에 따르면 SELECT 문은 FROM 절에 하위 쿼리를 포함할 수 없습니다.

해결책:

해결책은 각 하위 쿼리에 대한 뷰를 만드는 것입니다. 그런 다음 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);

위 내용은 MySQL에서 '뷰의 SELECT에 FROM 절에 하위 쿼리가 포함되어 있습니다' 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.