不知道有没有好办法?

waiwai88 2006-03-25 05:36:45
select distinct
a,
b,
c,
(select sum(g) from mytable where pk=t.pk and mytime='2005') as d,--今年的销量,
(select sum(g) from mytable where pk=t.pk and mytime='2005') as e,--去年的销量,
(select sum(g) from mytable where pk=t.pk and mytime='2005')/
(select sum(g) from mytable where pk=t.pk and mytime='2005') as f--今年销量 比 去年销量
from mytable t

不会每次用求和函数时都得用一个select吧,那么用d或e作运算的时候数据库是不是做了不少重复运算
能不能换个方法解决
...全文
53 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Big_Gun 2006-03-26
  • 打赏
  • 举报
回复
select sum(case when BillTypeObjID='0000000100000001' then IndiMoney else 0 end) X,
sum(case when BillTypeObjID='0000000400000001' then IndiMoney else 0 end) y,
sum(case when BillTypeObjID='0000000100000001' then IndiMoney else 0 end)/
sum(case when BillTypeObjID='0000000400000001' then IndiMoney else 0 end) N
from Indi_t_IndiBillDetail

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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