CREATE TABLE #T1(项目编号 VARCHAR(20),借款人 VARCHAR(20),合同开始日 DATE,合同结束日 DATE,产品 VARCHAR(20),实际还款日期 DATE,费用类别 VARCHAR(20),还款金额 INT)
INSERT INTO #T1 VALUES
('XM0001','张三','2016/12/21','2017/5/20','车贷','2017/2/20','利息',3386),
('XM0001','张三','2016/12/21','2017/5/20','车贷','2017/2/20','本金',11134),
('XM0001','张三','2016/12/21','2017/5/20','车贷','2017/2/20','居间',2840),
('XM0001','张三','2016/12/21','2017/5/20','车贷','2016/12/21','本金',10950),
('XM0001','张三','2016/12/21','2017/5/20','车贷','2016/12/21','居间',2840),
('XM0001','张三','2016/12/21','2017/5/20','车贷','2016/12/21','利息',3570),
('XM0001','张三','2016/12/21','2017/5/20','车贷','2017/1/21','利息',3479),
('XM0001','张三','2016/12/21','2017/5/20','车贷','2017/1/21','居间',2840),
('XM0001','张三','2016/12/21','2017/5/20','车贷','2017/1/21','本金',11041),
('XM0001','张三','2016/12/21','2017/5/20','车贷','2017/4/21','本金',11320),
('XM0001','张三','2016/12/21','2017/5/20','车贷','2017/4/21','利息',3200),
('XM0001','张三','2016/12/21','2017/5/20','车贷','2017/4/21','居间',2840),
('XM0001','张三','2016/12/21','2017/5/20','车贷','2017/3/22','利息',3294),
('XM0001','张三','2016/12/21','2017/5/20','车贷','2017/3/22','本金',11226),
('XM0001','张三','2016/12/21','2017/5/20','车贷','2017/3/22','居间',2840),
('XM0002','李四','2016/10/24','2017/10/23','房贷','2016/10/24','本金',10770),
('XM0002','李四','2016/10/24','2017/10/23','房贷','2016/10/24','利息',2507),
('XM0002','李四','2016/10/24','2017/10/23','房贷','2016/11/20','利息',3660),
('XM0002','李四','2016/10/24','2017/10/23','房贷','2016/11/20','居间',2840),
('XM0002','李四','2016/10/24','2017/10/23','房贷','2016/10/24','利息',2625),
('XM0002','李四','2016/10/24','2017/10/23','房贷','2016/11/20','本金',10860),
('XM0002','李四','2016/10/24','2017/10/23','房贷','2017/5/23','利息',3106),
('XM0002','李四','2016/10/24','2017/10/23','房贷','2017/5/23','居间',2840),
('XM0002','李四','2016/10/24','2017/10/23','房贷','2017/5/23','本金',11414),
('XM0002','李四','2016/10/24','2017/10/23','房贷','2017/6/21','居间',2840),
('XM0002','李四','2016/10/24','2017/10/23','房贷','2017/6/21','本金',11509),
('XM0002','李四','2016/10/24','2017/10/23','房贷','2017/6/21','利息',3011),
('XM00
//两个查询条件值如果写死就直接替换值,如果是动态的,就用变量替代,进行传参
//另外产品类型是固定两个来写的,如果不定,涉及到行列转换问题,交叉表格,稍微复杂些,就不列了
select f.类别,
(select sum(还款金额)from #T1 where 费用类别=f.费用类别 and 合同开始日期>=@开始参数 and
实际还款日期<=@结束参数 and 产品='车贷')车贷,
(select sum(还款金额)from #T1 where 费用类别=f.费用类别 and 合同开始日期>=@开始参数 and
实际还款日期<=@结束参数 and 产品='车贷')房贷
from(select distinct 费用类别 from #T1)f