2017-11-15 8 views
0

私はここにいるので、他のユーザーのようにテーブルを作成する方法を知らないので、私に同行してください。だから私は2つのテーブルを持っています。最初の表には3種類の項目がリストされています。 2番目の表には、アイテムの種類と各アイテムの販売価格が一覧表示されています。したがって、たとえば、商品の種類ごとの価格の合計

表1は

表2の順序日付が

 Product A @ $50 
     Product A @ $25 
     Product A @ $10 
     Product A @ $30 
     Product B @ $10 
     Product B @ $20 
     Product C @ $5 
     Product C @ $10 
     Product C @ $25 

があり、起源の製品A、B、C、名前を持って、私はのために販売されている製品の合計を計算します各製品タイプ。それは、私が出力製品Aを92.5、製品Bを15、製品Cを20とすべきことを意味します。事実ですが、私の構文は製品ごとに同じ出力しか出さないので、製品A、B、Cの出力は92.5です。適切な結果が得られるように修正するにはどうすればよいですか?ありがとう!

+1

ヒント: 'JOIN'、' GROUP BY'。 –

+2

既にお試しいただいたクエリを投稿 – DineshDB

+0

[SQLFiddle.com](http://sqlfiddle.com)を使用して練習をすることができます。次に、あなたの質問を編集し、作成したフィドルへのリンクを含めて他の人があなたを助けることができます。たとえば、次のような構文のヘルプが必要な場合CREATE TABLE文を使用すると、[Oracle SQLリファレンス](https://docs.oracle.com/cd/B28359_01/server.111/b28286/toc.htm)のオンライン・バージョンを確認できます。 –

答えて

0

SUMEACH商品タイプ(A、B、Cなど)が必要なので、あなたは使用する必要があります。

  1. 集約関数SUM():数値列の合計を返します。
  2. INNER JOINキーワード:一致する値に基づいて、2つの異なるテーブルの製品名と列価格を結合します。
  3. GROUP BYステートメント:結果セットを1つ以上の列でグループ化します。

ヒント:あなたは、キーワード、各Xについてを見ればそのほとんど常にX BY 基を意味します。

私はあなたのテーブルの実際のデザインを見ることができないが、これはあなたの問題を解決するのに十分でなければならない:

SELECT p.producttype, SUM(t.price) AS totalprice FROM Table1 AS p 
JOIN Table2 as t 
ON p.productid = t.productid 
GROUP BY p.producttype 

私はこのことができます願っています。

関連する問題