サブクエリを使用してクエリを作成し、DB で最も多くの購入を行った 1 人の顧客を見つけるのに問題があります。氏名、商品名、価格、数量を記載する必要があります。これが私がこれまでに持っているものです
select first_name ||' '|| last_name "FullName", pt.name p.price, sum(ps.quantity)
from customers c
join purchases ps on c.customer_id = ps.customer_id
join products p on p.product_id = ps.product_id
join product_types pt on p.product_type_id = pt.product_type_id;
これら3つのテーブルを使用する必要があります
顧客表
Customer_ID
First_Name
Last_Name
DOB
Phone
購入表
Product_ID
Customer_ID
Quantity
製品表
Product_ID
Product_Type_ID
Name
Description
Price
製品タイプ表
Product_Type_ID
Name
算術関数を select 外部クエリまたはサブクエリに配置する必要がある場合、サブクエリをどこに配置する必要があるか (select 行、from、having、または where 句) について混乱しています。ネストされたサブクエリ、相関サブクエリ、複数列のサブクエリ、複数行のサブクエリ、単一行のサブクエリがあることは知っています。ちなみに、私はOracleでこれをやろうとしています。これは、数量列から合計を削除したことを除いて、結果の画像です。また、リンクを更新しました。
( http://i1294.photobucket.com/albums/b618/uRsh3RRaYm0nD/Capture100_zps1f951b07.jpg )
申し訳ありませんが、4 番目のテーブルを含めるのを忘れていました。製品テーブルと製品タイプ テーブルに名前の列が 2 つあります。違いは、私のリンクに示されているように、製品テーブルの「名前」が製品の特定の名前であることです。製品タイプの「名前」列は、書籍、DVD、CD など、製品のより一般的な名前です。製品の名前列ではなく、製品タイプの「名前」列をクエリに含める必要があります。したがって、最終結果はこのように見えます
FullName ProductTypeName Price Quantity
John Brown Book Sumof4books 4
John Brown DVD Sumof2DVDs 2
John Brown Magazine Sumof1Mag 1