2017-02-13 7 views
0

MSSQL 2008R2を使用。後でビューを作成するには、選択を作成する必要があります。 3つのテーブルがあります。テーブルはユーザーとテーブルを1対1で持っています。テーブルsales_linesテーブルには、1対多があります。mssql合計で複数のテーブルから選択

表:Emply

id   Hourly_rate 
1   12.50 
2   19.00 

表:USER

ID   Name 
1   BoB Smith 
2   Mary Jones 

表:Sales_Lines

ID   AMOUNT   DATE_SALE 
1   10.00    01/12/2017 
2    5.00    01/15/2017 
1   15.00    01/12/2017 
1   30.00    01/01/2017 

出力は、ユーザIDごとに一日あたりの総売上高を示すべき

ID   Name     Total_Sales   Date 
1   Bob Smith   25.00       01/12/2017 
1   Bob Smith   30.00       01/01/2017 
2   Mary Jones   5.00      01/15/2017 

答えて

0

2つのテーブルを結合して後でグループ化する必要があります。

SELECT s.ID, SUM(s.AMOUNT), s.DATE_SALE 
FROM USER u LEFT OUTER JOIN Sales_Lines s 
ON u.ID = s.ID 
GROUP BY s.DATE_SALE, s.ID; 

このクエリは次のように読まれます:
は私に、それは同じユーザーと同じ日付でグループ化されたsales_lineだと組み合わせて、すべてのユーザーで構成されているグループからの金額と日付のユーザID、合計を取得します。

+0

ありがとうFaegy - 実行時にエラーが発生します。選択リストでUSER.IDが無効です。集計関数またはGROUP BY 句 – Ronin

+0

には含まれていないためです。自分の編集で再試行できますか? – Faegy

+0

ありがとうFaegy、それは今はうまくいきました。私は今これ以上のテーブルのためにこれを拡張する必要がありますが、これは私を始めさせるでしょう。 – Ronin

関連する問題