请叫数据库查询语句

jiangshengshui 2008-12-09 08:01:10
我有两个表,结构分别如下:

  a表 
  
  id name chengji .....
 1 李   50
  2  王   30
  3  李   70
  4  王   80

  b 表
  id name chengji ......
   1 李   40
  2  王   20
  3  陈   40
  4  王   70

假如我要把两个表,姓 李,王,陈..等人的 chengji 分别统计出来如何写语句?

   统计出来的数据应该是:
     name chengji
    李   160
     王   200
     陈   40

 
...全文
59 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwwwb 2008-12-10
  • 打赏
  • 举报
回复
用UNION ALL是最简单的,否则用LEFT JOIN+RIGHT JOIN+分组
OR
两个表分别GROUP再LEFT JOIN+RIGHT JOIN
wwwwb 2008-12-10
  • 打赏
  • 举报
回复
select name , sum(chengji) chengji from
(
select * from a
union all
select * from b
)
group by name
dawugui 2008-12-10
  • 打赏
  • 举报
回复
create table a(id int, name varchar(10), chengji int)
insert into a values(1 , '李' , 50)
insert into a values(2 , '王' , 30)
insert into a values(3 , '李' , 70)
insert into a values(4 , '王' , 80)
create table b(id int, name varchar(10), chengji int)
insert into b values(1 , '李' , 40)
insert into b values(2 , '王' , 20)
insert into b values(3 , '陈' , 40)
insert into b values(4 , '王' , 70)
go

select name , sum(chengji) chengji from
(
select * from a
union all
select * from b
) t
group by name

drop table a , b

/*
name chengji
---------- -----------
陈 40
李 160
王 200

(所影响的行数为 3 行)
*/
dawugui 2008-12-10
  • 打赏
  • 举报
回复
select name , sum(chengji) chengji from
(
select * from a
union all
select * from b
) t
group by name
android2008 2008-12-09
  • 打赏
  • 举报
回复
友情up

7,714

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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