2017-02-13 101 views
0

使用MSSQL 2008R2。需要創建一個select來稍後創建一個視圖。有3張桌子。 Table Emply與表User有一對一的關係。 Table Emply擁有一對多的表格sales_lines。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

您將不得不加入兩張表格,然後再進行分組。

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; 

該查詢將被讀爲:
給我的用戶ID,從組是由每一個用戶與同一用戶和同一日期它sales_line分組合並的金額和日期的總和。

+0

Thanks Faegy - 運行時出現錯誤。 USER.ID在選擇列表中無效,因爲它不包含在聚合函數或GROUP BY 子句 – Ronin

+0

中您可以使用我的編輯重試嗎? – Faegy

+0

謝謝Faegy,現在它工作正常。我現在需要擴展這個更多的表格,但這會讓我開始。 – Ronin