connect by level用法请教

[复制链接]
查看11 | 回复6 | 2009-10-9 08:28:00 | 显示全部楼层 |阅读模式
有这样一个需求表是这样的id startend
1201401 201406
1 201403201407
2201403 201410
2201411201412
现在就是需要挑出start 与 end时间段内有重复的 id请问 用connect by level的方法能不能查询出来 ,对connect by 不熟,请教了

回复

使用道具 举报

千问 | 2009-10-9 08:28:00 | 显示全部楼层
仔细阅读之后,必会解答此类问题
http://www.itpub.net/thread-994465-1-1.html
回复

使用道具 举报

千问 | 2009-10-9 08:28:00 | 显示全部楼层
唔,看你说的需求,也许你是另外一层意思,那先学会提问吧
http://www.itpub.net/thread-1348543-1-1.html
回复

使用道具 举报

千问 | 2009-10-9 08:28:00 | 显示全部楼层
用自连接,
SELECT ... FROM T T1,T T2
WHERE (T1.START BETWEEN T2.START AND T2.END ORT2.START BETWEEN T1.START AND T1.END) AND T1.ID=T2.ID AND T1.ROWIDT2.ROWID
回复

使用道具 举报

千问 | 2009-10-9 08:28:00 | 显示全部楼层
唔,看你说的需求,也许你是另外一层意思,那先学会提问吧
http://www.itpub.net/thread-1348543-1-1.html
回复

使用道具 举报

千问 | 2009-10-9 08:28:00 | 显示全部楼层
lastwinner 发表于 2014-11-7 00:47
唔,看你说的需求,也许你是另外一层意思,那先学会提问吧
http://www.itpub.net/thread-1348543-1-1.html

我之前的思路受限了,本来想的是用connect by 把数据拆分了再分析, 用newkid的思路可以解决。
回复

使用道具 举报

千问 | 2009-10-9 08:28:00 | 显示全部楼层
楼上的思路确实不错,涨姿势了
SELECT ... FROM T T1,T T2
WHERE (T1.START BETWEEN T2.START AND T2.END ORT2.START BETWEEN T1.START AND T1.END) AND T1.ID=T2.ID AND T1.ROWIDT2.ROWID
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行