Sql server 2005 使用SUM生成报告
我有两个SQLServer2005表:MainTable和Orders 主表:Sql server 2005 使用SUM生成报告,sql-server-2005,sum,Sql Server 2005,Sum,我有两个SQLServer2005表:MainTable和Orders 主表: | MainID | Serial | ------------------- | 1 | A00001 | | 2 | B00002 | 订单: | OrderID | MainID | Name | Value | ----------------------------------- | 1 | 2 | John | 100 | | 2 | 2
| MainID | Serial |
-------------------
| 1 | A00001 |
| 2 | B00002 |
订单:
| OrderID | MainID | Name | Value |
-----------------------------------
| 1 | 2 | John | 100 |
| 2 | 2 | Mike | 200 |
| 3 | 1 | John | 150 |
| 4 | 1 | Mike | 350 |
| 5 | 1 | John | 200 |
| 6 | 2 | John | 500 |
| 7 | 1 | Mike | 50 |
我想得到这样的东西:
|Serial | Name | Total |
-----------------------
| A00001 | John | 350 |
| A00002 | John | 600 |
| A00001 | Mike | 400 |
| A00002 | Mike | 200 |
选择序列号、名称、总数 从主表m中 按MainID、name o从订单o组中选择MainID、name、SUMvalue合计 其中m.MainID=O.MainID
select serial, name, sum(value) as total
from maintable m inner join orders o on
m.mainID = o.mainID
group by
serial, name
SELECT
m.serial,
o.name,
SUM(o.value)
FROM
main m
INNER JOIN order o ON m.mainid = o.mainid
GROUP BY
o.name,
m.serial
SELECT
M.SERIAL, O.NAME, SUM(VALUE) AS TOTAL
FROM MAINTABLE M JOIN ORDERS O ON O.MAINID=M.MAINID
GROUP BY M.SERIAL, O.NAME