mssql select 来自多个表的总和
mssql select from multiple tables with sum
使用 MSSQL 2008R2。需要创建一个 select 以便稍后创建视图。有 3 tables。 Table Emply 与 table 用户一对一。 Table Emply 一对多 table sales_lines.
Table: 应用
id Hourly_rate
1 12.50
2 19.00
Table:用户
ID Name
1 BoB Smith
2 Mary Jones
Table: 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
您必须加入这两个表,然后将它们分组。
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 由同一用户和同一日期分组。
使用 MSSQL 2008R2。需要创建一个 select 以便稍后创建视图。有 3 tables。 Table Emply 与 table 用户一对一。 Table Emply 一对多 table sales_lines.
Table: 应用
id Hourly_rate
1 12.50
2 19.00
Table:用户
ID Name
1 BoB Smith
2 Mary Jones
Table: 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
您必须加入这两个表,然后将它们分组。
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 由同一用户和同一日期分组。