首先谢谢大家@create table A1 (id int,score int)
create table A2 (id int,score int)
goinsert into A1
select 1,23 union all
select 2,32 union all
select 2,33 union all
select 3,44
go
insert into A2
select 2,45 union all
select 4,56 union all
select 6,93
goselect A1.id,SUM(A1.score) A1_SUM,SUM(A2.score) as A2_SUM
from A1 left join A2 on A1.id=A2.id
//这条语句我是想统计A1中scroe的和,和A2中score的和,可结果是
1 23 NULL
2 65 90 //为什么是90而不是45啊????
3 44 NULL
from
(
select id,sum(score) score from A1 group by id
) A1
left join A2 on A1.id=A2.id
create table A2 (id int,score int)
goinsert into A1
select 1,23 union all
select 2,32 union all
select 2,33 union all
select 3,44
go
insert into A2
select 2,45 union all
select 4,56 union all
select 6,93
goselect A1.id,A1.score A1_SUM,A2.score A2_SUM
from A1 left join A2 on A1.id=A2.id
/*
id A1_SUM A2_SUM
----------- ----------- -----------
1 23 NULL
2 32 45
2 33 45
3 44 NULL(所影响的行数为 4 行)
*/select A1.id,SUM(A1.score) A1_SUM,SUM(A2.score) as A2_SUM
from A1 left join A2 on A1.id=A2.id
group by a1.id
/*
id A1_SUM A2_SUM
----------- ----------- -----------
1 23 NULL
2 65 90
3 44 NULL(所影响的行数为 3 行)
*/drop table a1 , a2