开发者

Generate report using SUM

I've got two SQL Server 2005 tables: MainTable and Orders.

MainTable:

| MainID | Serial |
-------------------
| 1      | A00001 |
| 2      | B00002 |

Orders:

| 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    |

I want to get开发者_开发知识库 something like this:

|Serial  | Name | Total |
-----------------------
| A00001 | John | 350   |
| A00002 | John | 600   |
| A00001 | Mike | 400   |
| A00002 | Mike | 200   |


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 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(VALUE) AS TOTAL
FROM MAINTABLE M JOIN ORDERS O ON O.MAINID=M.MAINID
GROUP BY M.SERIAL, O.NAME


select Serial , name , Total

from MainTable m,

( select MainID ,name, SUM(value) Total from Orders o group by MainID , Name ) O

where m.MainID= O.MainID

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜