2016-12-25 6 views
-5

私はNAMEAMOUNTの列を持つテーブルORDERSを持っています。SQLの簡単なサブクエリー

それぞれNAMEと合計AMOUNTを取得する必要があります。

私は

select PRODUCT_NAME, SUM(AMOUNT) from ORDERS GROUP BY PRODUCT_NAME; 

、このような解決策を持っているしかし、私はそれを達成するための任意のサブクエリを使用してはいけません。しかし、私が行っている教訓はサブクエリについてです。このソリューションについて間違っているかもしれませんか?あなたは必見使用サブクエリ、これを使用している場合、

selectname, sum(amount) 
from Orders 
group by name 

しかし:

+0

ORDERS GROUPからPRODUCT_NAME、SUM(AMOUNT)を選択してくださいBY PRODUCT_NAME;しかし、私はそれを達成するためにサブクエリを使用しません。しかし、私が行っている教訓はサブクエリについてです。このソリューションについて間違っているかもしれませんか? –

+2

コードや追加情報を記載しないでください。 ** [編集] **あなたの質問 –

答えて

0

そのようなサブクエリを必要とせずに、単純な集計クエリ:

SELECT name, SUM(AMOUNT) 
FROM Orders 
GROUP BY name 
+0

ありがとう、私のコメントを読んでください! –

+0

オリジナルのタスクは、「合計金額とともに注文された商品の名前を表示する」です。私は間違ったことを理解しているかもしれませんか? –

0

このソリューションは完全に罰金です。

select o2.name, 
    (select sum(amount) 
    from Orders o1 
    where o1.name = o2.name) as total 
from 
(select distinct name 
from Orders) o2