Home > Database > Mysql Tutorial > How to Resolve 'View's SELECT contains a subquery in the FROM clause' in MySQL?

How to Resolve 'View's SELECT contains a subquery in the FROM clause' in MySQL?

Mary-Kate Olsen
Release: 2024-12-26 05:32:36
Original
210 people have browsed it

How to Resolve

Subquery in View's FROM Clause Troubleshooting

The error "View's SELECT contains a subquery in the FROM clause" occurs when a MySQL view's SELECT statement includes a subquery within the FROM clause. As per MySQL documentation, this is not allowed.

To address this issue in your query to create a view named view_credit_status, consider the following solution:

The problematic subquery is:

(select credit_usage.client_id, 
        sum(credits_used) as credits_used 
 from credit_usage 
 group by credit_usage.client_id) as t0
Copy after login

Create a separate view for this subquery:

create view view_credit_usage_summary as 
select credit_usage.client_id, 
       sum(credits_used) as credits_used 
from credit_usage 
group by credit_usage.client_id
Copy after login

In the view_credit_status view, reference the new view_credit_usage_summary view instead of the subquery:

create view view_credit_status as 
(select credit_orders.client_id, 
        sum(credit_orders.number_of_credits) as purchased, 
        ifnull(view_credit_usage_summary.credits_used,0) as used 
 from credit_orders
 left outer join view_credit_usage_summary on view_credit_usage_summary.client_id = credit_orders.client_id
 where credit_orders.payment_status='Paid'
 group by credit_orders.client_id)
Copy after login

This approach separates the subquery into a dedicated view, allowing you to access its results without violating MySQL's restrictions.

The above is the detailed content of How to Resolve 'View's SELECT contains a subquery in the FROM clause' in MySQL?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template