ホームページ > データベース > mysql チュートリアル > MySQL で「ビューの SELECT に FROM 句のサブクエリが含まれています」エラーを解決する方法は?

MySQL で「ビューの SELECT に FROM 句のサブクエリが含まれています」エラーを解決する方法は?

Mary-Kate Olsen
リリース: 2024-12-25 22:13:13
オリジナル
710 人が閲覧しました

How to Resolve the

「ビューの SELECT に FROM 句にサブクエリが含まれている」: 問題の解決

2 つのテーブルに基づいてビューを作成しようとすると、 Credit_orders と Credit_usage を使用すると、クエリは「ビューの SELECT に FROM にサブクエリが含まれている」ことを示すエラーを返します。条項。」このエラーは、MySQL ドキュメントがビュー SELECT ステートメントの FROM 句にサブクエリの存在を明示的に禁止しているために発生します。

この問題を解決してビューを正常に作成するには、サブクエリごとに個別のビューを作成する必要があります。これには、購入クレジットの計算と使用クレジットの計算の両方に対する中間ビューの作成が含まれます。

購入クレジットの計算には、次のクエリを使用できます。

CREATE VIEW view_purchased_credits AS
SELECT
  client_id,
  SUM(number_of_credits) AS purchased
FROM credit_orders
GROUP BY client_id;
ログイン後にコピー

使用クレジットの計算の場合、次のクエリを使用できます:

CREATE VIEW view_credits_used AS
SELECT
  client_id,
  SUM(credits_used) AS used
FROM credit_usage
GROUP BY client_id;
ログイン後にコピー

これらの中間ビューが作成されると、中間ビューにアクセスすることによる view_credit_status ビュー:

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';
ログイン後にコピー

FROM 句からサブクエリを削除し、中間ビューを使用することにより、FROM 句のサブクエリに関連するエラーを引き起こすことなく、view_credit_status ビューを正常に作成できます。

以上がMySQL で「ビューの SELECT に FROM 句のサブクエリが含まれています」エラーを解決する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート