关于SQL查询出来的数据合并问题。求解答急

b373125508 2011-08-17 04:10:48
select
s.aaaa as 单位,
s.cccc 金额,
s.dddd as 分配金额
from vw_budget_voucher s

这是个简单的列子
查询出来后
s.aaaa(字符串) 代表的单位那一列 有重复的 ,
但金额和分配金额 不相同(数字)

我希望根据合并 把相同的单位 只要1个显示。金额然后根据相同的单位都加在一起 , 分配金额 就不用管了


因为我不会截图 只有手动写表了

这是没合并前


单位 金额 分配

第1列 111 222 333
第2列 111 2222 3333


合并后:
单位 金额 分配

第1列 333
111 2444
第2列 3333

合并后 单位第1列和第2列的单为和金额 都被合并在一起了。




求高手解决 绝对高分啊 。
...全文
141 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
b373125508 2011-08-17
  • 打赏
  • 举报
回复
我自己哈了 本来软件上可以实现的 我却认为在sql里实现 谢谢你们了
opps_zhou 2011-08-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 b373125508 的回复:]
这方法我试过 但后面还有很多数据不同的列 光group by aaaa的话 会抱后面的列 不是group BY的表达式




我上原代码吧:
select
s.en_name as 单位,
s.en_code as 单位编码,
s.sm_name as 摘要,
s.mb_name as 业务部门,
s.b_voubill_no as 指标单据号,
……
[/Quote]

只要不需要合并的字段,全部放在 group by 后面,使用","连接,需要合并的字段就在 select 后面使用 sum(合并字段)
Diza1986 2011-08-17
  • 打赏
  • 举报
回复
该分组的就放到group by 后面呗
该sum的就sum

你说的很难让别人理解,不过分组求和而已,好好想想吧
b373125508 2011-08-17
  • 打赏
  • 举报
回复
这方法我试过 但后面还有很多数据不同的列 光group by aaaa的话 会抱后面的列 不是group BY的表达式




我上原代码吧:
select
s.en_name as 单位,
s.en_code as 单位编码,
s.sm_name as 摘要,
s.mb_name as 业务部门,
s.b_voubill_no as 指标单据号,
s.bl_code,
s.file_name as 财力文号,
s.bs_code as kmdm,
s.bs_name as 科目,

(b.base_avi + b.base_aving + b.adjust_add_avi + b.adjust_add_aving -
b.adjust_minus_avi - b.adjust_minus_aving + b.callback_avi +
b.callback_aving - b.minus_avi - b.minus_aving) as 已下达金额,
(select g.avi_money from gl_balance g where g.ccid=aa.ccid) as 分配金额

from vw_budget_query_cs b ,vw_budget_query_dw aa,vw_budget_voucher s
where b.sum_id=aa.fromctrlid
and b.sum_id=s.fromctrlid




opps_zhou 2011-08-17
  • 打赏
  • 举报
回复

select aaaa as "单位", sum(bbbb) as "金额" from tab group by aaaa;

3,499

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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