一个简单的查询问题

逗泥丸的平方 2017-04-24 02:29:30
表结构大概是这样的:

DEAL_SQNO, LINKED_DEAL_SQNO , 一笔交易在修改的时候会link上一笔交易的成交编号,第一笔的成交编号是空的

然后已知最后一笔交易的信息,想找到第一笔的成交编号. 这里的问题就是,别名怎么弄.? 我想用一个sql查询到每一笔交易的最后一个状态 和他最初的成交编号

在网上找了一些资料写了一段SQL ,但是自己却又搞不清是什么意思了...


select TO_CHAR(p.DEAL_SQNO),
TO_CHAR(p.DEAL_SQNO),
TO_CHAR(p.LINK_DEAL_SQNO),
P.*
from DEAL P
start with TO_CHAR(LINK_DEAL_SQNO) IS NULL
CONNECT BY (PRIOR
TO_CHAR(LINK_DEAL_SQNO) = TO_CHAR(DEAL_SQNO))



脑子一时间转不过来.. 所以就先提问一下 .


比如

DEAL_SQNO, LINKED_DEAL_SQNO ,xxx

1 null x1
2 1 x2
3 2 x3
4 null x4

我想要的结果就是

1 x3
4 x4
...全文
184 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
逗泥丸的平方 2017-04-25
  • 打赏
  • 举报
回复
引用 6 楼 wmxcn2000 的回复:
[quote=引用 4 楼 qq_35209952 的回复:] to_char 也是挺无奈的.. 数据库里面这个序列号位数太大了 会被科学计数法
先不要 to_char 。 到这个结果出来以后,再去外部嵌套一层,在最外层再 to_char[/quote] 啊 这个去掉了. 当时是直接copy就没注意..我想成另外一个事情了.
卖水果的net 2017-04-25
  • 打赏
  • 举报
回复
引用 4 楼 qq_35209952 的回复:
to_char 也是挺无奈的.. 数据库里面这个序列号位数太大了 会被科学计数法
先不要 to_char 。 到这个结果出来以后,再去外部嵌套一层,在最外层再 to_char
逗泥丸的平方 2017-04-25
  • 打赏
  • 举报
回复
引用 2 楼 wmxcn2000 的回复:
connect by 的效率是不太好,毕竟回表次数太多了。 如果数据量不大的话,这样是没有问题的;
但是业务上就这样要求 所以有什么等效的办法么?
逗泥丸的平方 2017-04-25
  • 打赏
  • 举报
回复
引用 3 楼 jdsnhan 的回复:
有多大的数据量? cus_number ,DEAL_SQNO,LINK_DEAL_SQNO列上增加索引。 to_char(DEAL_SQNO)的时候会忽略索引,尽量避免在索引列上使用函数
to_char 也是挺无奈的.. 数据库里面这个序列号位数太大了 会被科学计数法
jdsnhan 2017-04-25
  • 打赏
  • 举报
回复
有多大的数据量? cus_number ,DEAL_SQNO,LINK_DEAL_SQNO列上增加索引。 to_char(DEAL_SQNO)的时候会忽略索引,尽量避免在索引列上使用函数
卖水果的net 2017-04-25
  • 打赏
  • 举报
回复
connect by 的效率是不太好,毕竟回表次数太多了。 如果数据量不大的话,这样是没有问题的;
逗泥丸的平方 2017-04-24
  • 打赏
  • 举报
回复

select connect_by_root TO_CHAR(p.DEAL_SQNO) root  ,TO_CHAR(DEAL_SQNO),TO_CHAR(LINK_DEAL_SQNO) LINK_NO, p.*
  from deal_spot P
  where cus_number='580' and TO_CHAR(LINK_DEAL_SQNO) IS NOT NULL
 start with TO_CHAR(LINK_DEAL_SQNO) IS NULL
CONNECT BY (PRIOR TO_CHAR(DEAL_SQNO) =
            TO_CHAR(LINK_DEAL_SQNO) )
好像这样是OK的? 但是感觉性能会惨不忍睹啊... 继续求大腿帮忙看看.

17,086

社区成员

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

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