日期:2014-05-18  浏览次数:20742 次

求高手指点 合计数据的SQL语句 在线等 超级变态的合计。
又表格结构如下:
SQL code

创建表格:
CREATE TABLE [dbo].[TableAB](
    [ID] [int] IDENTITY(1,1) NOT NULL,--
    [BMName] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,--部门名称
    [BMCode] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,--部门大类代码:总部
    [SmallBMCode] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,--部门小类代码:小部
    [EType] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,--种类类型
    [EDatetime] [datetime] NULL--日期
) ON [PRIMARY]

--插入测试数据:
insert into TableAB(BMName,BMCode,SmallBMCode,EType,EDatetime) values('第一总部第一小部','ID001','SM001','A','2012-01-02')
insert into TableAB(BMName,BMCode,SmallBMCode,EType,EDatetime) values('第一总部第一小部','ID001','SM001','B','2011-03-02')
insert into TableAB(BMName,BMCode,SmallBMCode,EType,EDatetime) values('第一总部第一小部','ID001','SM001','C','2012-01-02')
insert into TableAB(BMName,BMCode,SmallBMCode,EType,EDatetime) values('第一总部第一小部','ID001','SM001','B','2011-05-02')
insert into TableAB(BMName,BMCode,SmallBMCode,EType,EDatetime) values('第一总部第一小部','ID001','SM001','C','2012-01-02')
insert into TableAB(BMName,BMCode,SmallBMCode,EType,EDatetime) values('第一总部第一小部','ID001','SM001','A','2012-07-02')
--------------------------------------------------
insert into TableAB(BMName,BMCode,SmallBMCode,EType,EDatetime) values('第一总部第二小部','ID001','FM002','C','2012-01-02')
insert into TableAB(BMName,BMCode,SmallBMCode,EType,EDatetime) values('第一总部第二小部','ID001','SM002','A','2011-02-02')
insert into TableAB(BMName,BMCode,SmallBMCode,EType,EDatetime) values('第一总部第二小部','ID001','SM002','B','2012-01-02')
insert into TableAB(BMName,BMCode,SmallBMCode,EType,EDatetime) values('第一总部第二小部','ID001','SM002','A','2011-02-02')
insert into TableAB(BMName,BMCode,SmallBMCode,EType,EDatetime) values('第一总部第二小部','ID001','SM002','B','2012-01-02')
---------------------------------------------------
insert into TableAB(BMName,BMCode,SmallBMCode,EType,EDatetime) values('第二总部第一小部','ID002','FM001','A','2012-03-02')
insert into TableAB(BMName,BMCode,SmallBMCode,EType,EDatetime) values('第二总部第一小部','ID002','FM001','C','2011-01-02')
insert into TableAB(BMName,BMCode,SmallBMCode,EType,EDatetime) values('第二总部第一小部','ID002','FM001','B','2012-04-02')
insert into TableAB(BMName,BMCode,SmallBMCode,EType,EDatetime) values('第二总部第一小部','ID002','FM001','A','2011-01-02')
insert into TableAB(BMName,BMCode,SmallBMCode,EType,EDatetime) values('第二总部第一小部','ID002','FM001','C','2011-06-02')
insert into TableAB(BMName,BMCode,SmallBMCode,EType,EDatetime) values('第二总部第一小部','ID002','FM001','A','2012-01-02')
--------------------------------------------------
insert into TableAB(BMName,BMCode,SmallBMCode,EType,EDatetime) values('第二总部第二小部','ID002','FM002','A','2012-01-02')
insert into TableAB(BMName,BMCode,SmallBMCode,EType,EDatetime) values('第二总部第二小部','ID002','FM002','C','2011-10-02')
insert into TableAB(BMName,BMCode,SmallBMCode,EType,EDatetime) values('第二总部第二小部','ID002','FM002','A','2012-01-02')
insert into TableAB(BMName,BMCode,SmallBMCode,EType,EDatetime) values('第二总部第二小部','ID002','FM002','C','2011-11-02')
insert into TableAB(BMName,BMCode,SmallBMCode,EType,EDatetime) values('第二总部第二小部','ID002','FM002','B','2012-01-02')
---------------------------------------------------
insert into TableAB(BMName,BMCode,SmallBMCode,EType,EDatetime) values('第二总部第三小部','ID002','FM003','B','2012-12-02')
insert into TableAB(BMName,BMCode,SmallBMCode,EType,EDatetime) values('第二总部第三小部','ID002','FM003','C','2011-09-02')
insert into TableAB(BMName,BMCode,SmallBMCode,EType,EDatetime) values('第二总部第三小部','ID002','FM003','A','2012-01-02')
insert into TableAB(BMName,BMCode,SmallBMCode,EType,EDatetime) values('第二总部第三小部','ID002','FM003','A','2011-08-02')
insert into TableAB(BMName,BMCode,SmallBMCode,EType,EDatetime) values('第二总部第三小部','ID002','FM003','C','2012-01-02')