表a 为申请人的资料 有一个合同号为关键字
合同号 姓名 性别
1234 张三 男
1235 李四 女
1236 王五 男
表b为借款资料 关键字也是合同号
合同号 借款数额 还款数额 时间
1235 3000 0 2006-1-1
1234 2000 0 2007-1-1
1236 300 0 2006-1-1
1234 0 1000 2008-1-1
现在想列表所有人员的借款情况
合同号 姓名 借款数额
1234 张三 1000
1235 李四 3000
1236 王五 300
合同号 姓名 性别
1234 张三 男
1235 李四 女
1236 王五 男
表b为借款资料 关键字也是合同号
合同号 借款数额 还款数额 时间
1235 3000 0 2006-1-1
1234 2000 0 2007-1-1
1236 300 0 2006-1-1
1234 0 1000 2008-1-1
现在想列表所有人员的借款情况
合同号 姓名 借款数额
1234 张三 1000
1235 李四 3000
1236 王五 300
select
a.合同号,
a.姓名,
sum(借款数额)-sum(还款数额) as 借款数额
from 表a a
left join 表b b
on b.合同号 = a.合同号
group by a.合同号,a.姓名
a.合同号,
a.姓名,
sum(借款数额)-sum(还款数额) as 借款数额
from 表a a
left join 表b b
on b.合同号 = a.合同号
group by a.合同号,a.姓名
) d on c.合同号=d.合同号 and c.姓名=d.姓名
a.合同号,
a.姓名,
b.*
from 表a a
left join 表b b
on b.合同号 = a.合同号
where not exists(select 1 from 表b where 合同号 = b.合同号 and 时间> b. 时间)
select bb.合同号, bb.姓名, bb.借款数额, b.时间,b.其他需要输出的字段
from
(
select
a.合同号,
a.姓名,
sum(借款数额)-sum(还款数额) as 借款数额
from a
left join b
on b.合同号 = a.合同号
group by a.合同号,a.姓名
)bb left join b on bb.合同号=b.合同号
where b.时间=(select max(b.时间)from b)试试看对不
select
a.合同号,
a.姓名,
sum(借款数额)-sum(还款数额) as 借款数额
from 表a a
left join 表b b
on b.合同号 = a.合同号
group by a.合同号,a.姓名
)t1 inner join (
select 合同号,max(时间) as 时间 from 表b
)t3 on t1.合同号=t3.合同号
inner join 表b t2 on t2.合同号=t3.合同号 and t2.时间=t3.时间
insert into 表a select 1234,'张三','男'
union all select 1235,'李四','女'
union all select 1236,'王五','男'
create table 表b (合同号 int,借款数额 int, 还款数额 int, 时间 datetime,其他列 nvarchar(10))
insert into 表b select 1235 , 3000, 0,'2006-1-1','苛晨决在'
union all select 1234 , 2000, 0,'2007-1-1','械在有以'
union all select 1236 , 300, 0,'2006-1-1','有关的要玫'
union all select 1234 , 0, 1000,'2008-1-1','中不产上下'
go
select t1.合同号,t1.姓名,t1.借款数额,t2.其他列,t3.时间 from (
select
a.合同号,
a.姓名,
sum(借款数额)-sum(还款数额) as 借款数额
from 表a a
left join 表b b
on b.合同号 = a.合同号
group by a.合同号,a.姓名
)t1 inner join (
select 合同号,max(时间) as 时间 from 表b group by 合同号
)t3 on t1.合同号=t3.合同号
inner join 表b t2 on t2.合同号=t3.合同号 and t2.时间=t3.时间go
drop table 表a,表b
/*
合同号 姓名 借款数额 其他列 时间
----------- ----- ----------- ---------- -----------------------
1235 李四 3000 苛晨决在 2006-01-01 00:00:00.000
1236 王五 300 有关的要玫 2006-01-01 00:00:00.000
1234 张三 1000 中不产上下 2008-01-01 00:00:00.000(3 行受影响)*/
select
a.合同号
,a.姓名
,(sum(b.借款数额)-sum(b.还款数额)) as 借款数额
from
表a a
left join
表b b
on
a.合同号=b.合同号
group by
a.合同号,a.姓名
having
(sum(b.借款数额)-sum(b.还款数额))<>0
order by
a.合同号