Heim > Datenbank > MySQL-Tutorial > Wie löse ich in MySQL „Views SELECT enthält eine Unterabfrage in der FROM-Klausel'?

Wie löse ich in MySQL „Views SELECT enthält eine Unterabfrage in der FROM-Klausel'?

Mary-Kate Olsen
Freigeben: 2024-12-26 05:32:36
Original
209 Leute haben es durchsucht

How to Resolve

Fehlerbehebung bei Unterabfragen in der FROM-Klausel von View

Der Fehler „SELECT von View enthält eine Unterabfrage in der FROM-Klausel“ tritt auf, wenn die SELECT-Anweisung einer MySQL-Ansicht ausgeführt wird Enthält eine Unterabfrage innerhalb der FROM-Klausel. Gemäß der MySQL-Dokumentation ist dies nicht zulässig.

Um dieses Problem in Ihrer Abfrage zum Erstellen einer Ansicht mit dem Namen view_credit_status zu beheben, ziehen Sie die folgende Lösung in Betracht:

Die problematische Unterabfrage lautet:

(select credit_usage.client_id, 
        sum(credits_used) as credits_used 
 from credit_usage 
 group by credit_usage.client_id) as t0
Nach dem Login kopieren

Erstellen Sie eine separate Ansicht für diese Unterabfrage:

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
Nach dem Login kopieren

Referenz in der Ansicht view_credit_status die neue view_credit_usage_summary-Ansicht anstelle der Unterabfrage:

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)
Nach dem Login kopieren

Dieser Ansatz trennt die Unterabfrage in eine dedizierte Ansicht, sodass Sie auf ihre Ergebnisse zugreifen können, ohne die Einschränkungen von MySQL zu verletzen.

Das obige ist der detaillierte Inhalt vonWie löse ich in MySQL „Views SELECT enthält eine Unterabfrage in der FROM-Klausel'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage