一个SQL算法问题,解决立即放分

綏子 2003-08-22 09:27:30
三个表
A表

基础资料表结构
hbbm(int)编号主键, hbname (char) 名称
1 张
2 王
3 李
4 马
5 黄
6 胡

B表(记录表)
hbbm(int)外键 sl(数量)
1 5
1 3
2 2
3 2

C表(记录表)
hbbm(int)外键 sl(数量)
2 -1
3 2
4 10
1 2


要求将B表和C表进行合并求和.

得出结果如下:

unio表
hbbm name sl
1 张 7
2 王 1
3 李 4
4 马 10



先谢各位




...全文
25 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengdali 2003-08-22
  • 打赏
  • 举报
回复
select a.hbbm,b.name,sum(sl) sl from (select hbbm,sl from B表 union all select hbbm,sl from C表) a ,础资料表 b where a.hbbm=b.hbbm group by a.hbbm,b.name

光用union会出问题,union会删掉重复的列。而union all不会。
pengdali 2003-08-22
  • 打赏
  • 举报
回复
select a.hbbm,b.name,sum(sl) sl from (select hbbm,sl from B表 union all select hbbm,sl from C表) a ,础资料表 b where a.hbbm=b.hbbm group by a.hbbm,b.name

光用union会出问题,union会删掉重复的列。而union all不会。
nboys 2003-08-22
  • 打赏
  • 举报
回复
看你要不要显示dw的数据,如果要显示,那么也要对dw来分组s1
所以

select a.hbbm,name,sum(sl) as s1,dw from A a join
(select hbbm,s1 from B
union
select * from C) b on a.hbbm=b.hbbm group by a.hbbm,name,dw
dafu71 2003-08-22
  • 打赏
  • 举报
回复
如果我再加上四五个字段如

hbbm name sl dw(单位)
1 张 7 个
2 王 1 斤
3 李 4 斤
4 马 10 盒

在上面写的语句里可以是
select hbbm, max([name]), sum(sl), max(dw) from

...

group by A.hbbm
nboys 2003-08-22
  • 打赏
  • 举报
回复
B表(记录表)
hbbm(int)外键 sl(数量)
1 5
1 3
2 2
3 2

C表(记录表)
hbbm(int)外键 sl(数量)
2 -1
3 2
4 10
1 2


select a.hbbm,name,sum(sl) from A a join
(select hbbm,s1 from B
union
select * from C) b on a.hbbm=b.hbbm group by a.hbbm,name
綏子 2003-08-22
  • 打赏
  • 举报
回复
如果我再加上四五个字段如

hbbm name sl dw(单位)
1 张 7 个
2 王 1 斤
3 李 4 斤
4 马 10 盒

在上面写的语句里是不是也要

select hbbm, [name], sum(sl), dw from

...

group by A.hbbm, A.[name],A.dw

愉快的登山者 2003-08-22
  • 打赏
  • 举报
回复
select hbbm, [name], sum(sl) from
(select hbbm, (select hbname from 基础资料表 where hbbm = B.hbbm) [name], sl from B
union all
select hbbm, (select hbname from 基础资料表 where hbbm = C.hbbm) [name], sl from C) A
group by A.hbbm, A.[name]
CrazyFor 2003-08-22
  • 打赏
  • 举报
回复
select a.*,sum(b.sl)+sum(c.sl)
from a left join b on a.hbbm=b.hbbm left join c on a.hbbm=c.hbbm
group by a.hbbm,a.hbname,b.hbbm,c.hbbm

34,576

社区成员

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

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