求助,关于不同表之间的数据汇总的问题

lz1201048 2009-03-28 11:21:34
两张表的数据:
table1.
ne_cname 话务量1
天津 100
北京 200
上海 150

table2.
ne_cname 话务量
重庆 300

要求查出来的结果:
ne_cname 话务量1 话务量2
天津 100 0
北京 200 0
上海 150 0
重庆 0 300

请问应该怎样写语句,谢谢大家了
...全文
89 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
lz1201048 2009-03-29
  • 打赏
  • 举报
回复
这个是Sybase的,没有All Join功能,用下面的一样可以实现,谢谢上面各位
select * from table1
select * from table2
----------------------------------------------------------------------------------------------------
select isnull(m.ne_name,n.ne_name) ne_name,
isnull(m.serl,0) serl1,
isnull(n.serl,0) serl2
from table1 m
left join table2 n
on m.ne_name = n.ne_name

union all

select isnull(m.ne_name,n.ne_name) ne_name,
isnull(m.serl,0) serl1,
isnull(n.serl,0) serl2
from table1 m
right join table2 n
on m.ne_name = n.ne_name
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------

(3 rows affected)
(1 row affected)
(4 rows affected)

ne_name serl
------- -----------
天津 100
北京 200
上海 150

ne_name serl
------- -----------
重庆 150

ne_name serl1 serl2
------- ----------- -----------
天津 100 0
北京 200 0
上海 150 0
重庆 0 150


ai_li7758521 2009-03-28
  • 打赏
  • 举报
回复
学习。
a260881071 2009-03-28
  • 打赏
  • 举报
回复
select * ,0 from table1 union all
select ne_name,0,话务量 from table2
you_tube 2009-03-28
  • 打赏
  • 举报
回复
he......
-狙击手- 2009-03-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 dawugui 的回复:]
NND,一着急,在一楼中把表名写掉了.
[/Quote]


...
-狙击手- 2009-03-28
  • 打赏
  • 举报
回复
Select ne_cname ,话务量1 , 0 as 话务量2  from table1
union all
select ne_cname,0,话务量2 from table2
dawugui 2009-03-28
  • 打赏
  • 举报
回复
NND,一着急,在一楼中把表名写掉了.
dawugui 2009-03-28
  • 打赏
  • 举报
回复
create table table1(ne_cname varchar(10), 话务量1 int)
insert into table1 values('天津' , 100 )
insert into table1 values('北京' , 200 )
insert into table1 values('上海' , 150 )
create table table2(ne_cname varchar(10), 话务量2 int)
insert into table2 values('重庆' , 300 )
go

select isnull(m.ne_cname , n.ne_cname) ne_cname,
isnull(m.话务量1 , 0) 话务量1 ,
isnull(n.话务量2 , 0) 话务量2
from table1 m full join table2 n
on m.ne_cname = n.ne_cname

drop table table1 , table2

/*
ne_cname 话务量1 话务量2
---------- ----------- -----------
天津 100 0
北京 200 0
上海 150 0
重庆 0 300

(所影响的行数为 4 行)

*/
dawugui 2009-03-28
  • 打赏
  • 举报
回复
select isnull(m.ne_cname , n.ne_cname) ne_cname,
isnull(m.话务量1 , 0) 话务量1 ,
isnull(n.话务量2 , 0) 话务量2
from table1 full join table2
on m.ne_cname = n.ne_cname

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧