三张表
ta
id col1 col2 col3
1 0001 2 3
2 0002 1 2
3 0001 1 1
4 0003 2 2
5 0002 1 1
6 0001 3 1
统计结果 0001 6 5
0002 2 3
0003 2 2
tb
id col1 col4 col5
1 0001 1 2
2 0001 2 3
3 0001 1 1
4 0003 1 3
统计结果 0001 4 6
0003 1 3
tc
id col1 col2 col3 col4 col5
表ta和表tb的col列一致,表tb的col1含有表ta的col1中的部分值。tc为空表col2,col3,col4,col5默认值为0
想得到结果
tc
id col1 col2 col3 col4 col5
1 0001 6 5 4 6
2 0002 2 3 0 0
3 0003 2 2 1 3
刚刚接触数据库,请各位帮助,谢了!
ta
id col1 col2 col3
1 0001 2 3
2 0002 1 2
3 0001 1 1
4 0003 2 2
5 0002 1 1
6 0001 3 1
统计结果 0001 6 5
0002 2 3
0003 2 2
tb
id col1 col4 col5
1 0001 1 2
2 0001 2 3
3 0001 1 1
4 0003 1 3
统计结果 0001 4 6
0003 1 3
tc
id col1 col2 col3 col4 col5
表ta和表tb的col列一致,表tb的col1含有表ta的col1中的部分值。tc为空表col2,col3,col4,col5默认值为0
想得到结果
tc
id col1 col2 col3 col4 col5
1 0001 6 5 4 6
2 0002 2 3 0 0
3 0003 2 2 1 3
刚刚接触数据库,请各位帮助,谢了!
解决方案 »
- 求TSQL语句
- 三问数据整编的问题
- select * from student_info where student_id like '[^1-6]'
- 存储过程中如何传递日期型参数,麻烦高手指点一下,谢谢!
- 状态服务器已关闭超时的 TCP/IP 连接
- 那儿有SQL SERVER 2005中文开发版下载呀?要下的敖敖快的?
- 如何在vb中对SQL SERVER进行条件查询并将结果显现在data grid的控件中
- 关于SQL2000的一个糊涂的问题???
- 主表和从表数据,按要求汇总。
- 看似简单但非常难的数据库问题,高手进来指教!!!!!!!!!!
- 字段内容置换!请邹兄考量!
- 安装程序配置服务器失败的解决全过程。
表A
a1 a2
1 9
2 10
3 67
4 33
表B
b1 b2
2 31
4 99
想实现这样
a1 a2 b2
1 9 NULL(或0或不体现任何数)
2 10 31
3 67 NULL(或0或不体现任何数)
4 33 99
谢谢各位指导~
CREATE TABLE #a ([a1] [char] (10),[a2] [int])
CREATE TABLE #b ([b1] [char] (10),[b2] [int])insert into #a(a1,a2) values('1',9)
insert into #a(a1,a2) values('2',10)
insert into #a(a1,a2) values('3',67)
insert into #a(a1,a2) values('4',33) insert into #b(b1,b2) values('2',31)
insert into #b(b1,b2) values('4',99) --显示NULL
--select isnull(#a.a1,#b.b1) a1,#a.a2 a2,#b.b2 b2
--from #a full join #b on #a.a1=#b.b1--显示0
select #A.a1, #A.a2, isnull(#B.b2, 0)
from #A left join #B on #A.a1 = #B.b1drop table #a
drop table #b
SELECT col1, col2 = SUM(col2), col3 = SUM(col3), col4 = SUM(col4), col5 = SUM(col5)
FROM(
SELECT
col1, col2, col3, col4 = 0, col5 = 0
FROM ta
UNION ALL
SELECT
col1, col2 = 0, col3 = 0, col4, col5
FROM tb
)A
GROUP BY col2
(select col1 , sum(col2) as col2 , sum(col3) as col3 from ta group by col1) a
left jion
(select col1 , sum(col4) as col4 , sum(col5) as col5 from tb group by col1) b
on a.col1 = b.col1