两个表的和 求高人指点 在线等待 跪求

blank-h 2016-06-07 01:15:18



select * from
(select b.*,RANK() OVER (PARTITION BY b.机器码 ORDER BY b.年月日 desc, b.时间 desc) as drank FROM test b
where to_date (b.年月日||b.时间,'yyyy-mm-dd HH24:MI:SS')> to_date ('2015-09-11 23:12:00','yyyy-mm-dd HH24:MI:SS')
) where drank=1
这是我在充值表 查出来的 最新第一条


充值表为准 可以得到所有的机器码,用充值表机器码去查询记录表
有记录就获取最新记录表的最新的第一条记录的余额 按照年月日时间排序。
没有记录获取 充值表余额 最后要这些余额的合。

要求用sql搞定。

求sql或 思路 谢谢各路高人。

...全文
168 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ghx287524027 2016-06-08
  • 打赏
  • 举报
回复
select id,max(jqm),max(rq),sum(ye) from ( (select * from (select a.*,RANK() OVER (PARTITION BY a.id ORDER BY a.rq desc) as drank from CZ A where not exists(select 1 from xf b where a.ID=b.id) order by id ) where drank=1) union all (select * from (select c.*,RANK() OVER (PARTITION BY c.id ORDER BY c.rq desc) as drank from xf c) where drank=1)) group by id order by id
blank-h 2016-06-08
  • 打赏
  • 举报
回复
引用 3 楼 ghx287524027 的回复:
[quote=引用 2 楼 blank_8655 的回复:] [quote=引用 1 楼 ghx287524027 的回复:] 把需求重新描述一下吧,记录表是什么?有点晕乎
上面 sql 还是你帮写的呢 哈 在谢谢你 我现在有2个表 1充值表 2消费表 充值表 有卡号为A,B,C,D 记录 消费表 有卡号为B,C 记录 我主要是取所有的余额 注:每次消费计算完毕后余额存放在 余额字段 。 消费表有记录就取消费的余额 消费表没有记录就取充值表余额。 最后要余额 合数 上面卡号 ABCD 举例子 我最终要数据,充值表 AD 消费表BC 这4个的合 注:消费表 每次消费计算后留下余额的 充值表也一样 充值计算后留余额。 大概这杨不知你能不能看懂[/quote] 那充值表和消费表都有记录的话是不是还要判断日期,比如 B ,先消费后充值,那 B 的余额是不是得取充值表的余额?[/quote] 不用判断 消费表有记录 就计算消费表就可以 注:充值表有记录是正常因为 你像消费必须要充值。
weixin_31013737 2016-06-07
  • 打赏
  • 举报
回复
A和B表都取最新的数据,然后A表left join B 表,关联上取B表余额,关联不上取A表余额
ghx287524027 2016-06-07
  • 打赏
  • 举报
回复
你加我q 1246953828
ghx287524027 2016-06-07
  • 打赏
  • 举报
回复
引用 2 楼 blank_8655 的回复:
[quote=引用 1 楼 ghx287524027 的回复:] 把需求重新描述一下吧,记录表是什么?有点晕乎
上面 sql 还是你帮写的呢 哈 在谢谢你 我现在有2个表 1充值表 2消费表 充值表 有卡号为A,B,C,D 记录 消费表 有卡号为B,C 记录 我主要是取所有的余额 注:每次消费计算完毕后余额存放在 余额字段 。 消费表有记录就取消费的余额 消费表没有记录就取充值表余额。 最后要余额 合数 上面卡号 ABCD 举例子 我最终要数据,充值表 AD 消费表BC 这4个的合 注:消费表 每次消费计算后留下余额的 充值表也一样 充值计算后留余额。 大概这杨不知你能不能看懂[/quote] 那充值表和消费表都有记录的话是不是还要判断日期,比如 B ,先消费后充值,那 B 的余额是不是得取充值表的余额?
blank-h 2016-06-07
  • 打赏
  • 举报
回复
引用 1 楼 ghx287524027 的回复:
把需求重新描述一下吧,记录表是什么?有点晕乎
上面 sql 还是你帮写的呢 哈 在谢谢你 我现在有2个表 1充值表 2消费表 充值表 有卡号为A,B,C,D 记录 消费表 有卡号为B,C 记录 我主要是取所有的余额 注:每次消费计算完毕后余额存放在 余额字段 。 消费表有记录就取消费的余额 消费表没有记录就取充值表余额。 最后要余额 合数 上面卡号 ABCD 举例子 我最终要数据,充值表 AD 消费表BC 这4个的合 注:消费表 每次消费计算后留下余额的 充值表也一样 充值计算后留余额。 大概这杨不知你能不能看懂
ghx287524027 2016-06-07
  • 打赏
  • 举报
回复
把需求重新描述一下吧,记录表是什么?有点晕乎

17,089

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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