ITPUB论坛-中国最专业的IT技术社区

 找回密码
 注册
查看: 260|回复: 11

[SQL] 111

[复制链接]
论坛徽章:
0
发表于 2017-11-13 17:14 | 显示全部楼层 |阅读模式
本帖最后由 xjlovezxx 于 2017-11-15 16:37 编辑

WITH a ( ID , tongdaoid , NUM)
AS
(
SELECT 1,100,888 FROM dual
union ALL
SELECT 2,100,999 FROM dual
union ALL
SELECT 3,100,1666 FROM dual
union ALL
SELECT 4,101,666 FROM dual
union ALL
SELECT 5,101,1666 FROM dual
union ALL
SELECT 6,101,2888 FROM dual
),
b (tongdaoid, NUM ,beizhu)
AS
(
SELECT 100,500,'desc1' FROM dual
UNION ALL
SELECT 100,1000,'desc2' FROM dual
UNION ALL
SELECT 100,2000,'desc3' FROM dual
UNION ALL
SELECT 100,8000,'desc4' FROM dual
UNION ALL
SELECT 101,300,'desc5' FROM dual
UNION ALL
SELECT 101,2000,'desc6' FROM dual
UNION ALL
SELECT 101,2500,'desc7' FROM dual
UNION ALL
SELECT 101,6000,'desc8' FROM dual
)

a表的tongdaoid和b表的tongdaoid关联,然后select的时候a表的num根据B表的不同范围显示不同的备注。   


如a.tongdaoid=100  num=999时候对应B表的范围为500-1000,select出来的备注应该为desc1;
   a.tongdaoid=101  num=1666时候对应B表的范围为300-2000,select出来的备注应该为desc5;
论坛徽章:
4
秀才
日期:2017-08-11 15:38:46秀才
日期:2017-09-08 11:09:50秀才
日期:2017-09-25 15:10:28秀才
日期:2017-09-25 15:10:28
发表于 2017-11-13 18:41 | 显示全部楼层
WITH a ( ID , tongdaoid , NUM)
AS
(
SELECT 1,100,888 FROM dual
union ALL
SELECT 2,100,999 FROM dual
union ALL
SELECT 3,100,1666 FROM dual
union ALL
SELECT 4,101,666 FROM dual
union ALL
SELECT 5,101,1666 FROM dual
union ALL
SELECT 6,101,2888 FROM dual
),
b (tongdaoid, NUM ,beizhu)
AS
(
SELECT 100,500,'desc1' FROM dual
UNION ALL
SELECT 100,1000,'desc2' FROM dual
UNION ALL
SELECT 100,2000,'desc3' FROM dual
UNION ALL
SELECT 100,8000,'desc4' FROM dual
UNION ALL
SELECT 101,300,'desc5' FROM dual
UNION ALL
SELECT 101,2000,'desc6' FROM dual
UNION ALL
SELECT 101,2500,'desc7' FROM dual
UNION ALL
SELECT 101,6000,'desc8' FROM dual
),
c
AS
(SELECT b.tongdaoid,b.num,LEAD(b.num)OVER(PARTITION BY b.tongdaoid ORDER BY NUM)  led , b.beizhu FROM b)
SELECT a.*, c.beizhu
  FROM a, c
WHERE a.tongdaoid = c.tongdaoid
   AND a.num BETWEEN c.num AND c.led
ORDER BY 1

使用道具 举报

回复
论坛徽章:
4
秀才
日期:2017-08-11 15:38:46秀才
日期:2017-09-08 11:09:50秀才
日期:2017-09-25 15:10:28秀才
日期:2017-09-25 15:10:28
发表于 2017-11-13 18:43 | 显示全部楼层
强烈建议以后问问题给出测试脚本  很多问题构建临时表的时间都比给出结果的时间长

使用道具 举报

回复
论坛徽章:
0
 楼主| 发表于 2017-11-13 18:54 | 显示全部楼层
却早已分离 发表于 2017-11-13 18:43
强烈建议以后问问题给出测试脚本  很多问题构建临时表的时间都比给出结果的时间长

哈哈  好   先谢谢拉   但是B表里面的ID很多,每个ID的范围不一样,范围也是不固定的 可能随时变化的  这样写死了达不到效果啊  

使用道具 举报

回复
论坛徽章:
0
 楼主| 发表于 2017-11-13 21:22 | 显示全部楼层
却早已分离 发表于 2017-11-13 18:43
强烈建议以后问问题给出测试脚本  很多问题构建临时表的时间都比给出结果的时间长

不好意思  看错了  

使用道具 举报

回复
论坛徽章:
480
榜眼
日期:2015-09-09 10:34:21秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12状元
日期:2015-11-23 10:04:09举人
日期:2015-11-23 10:04:09
发表于 2017-11-13 23:17 | 显示全部楼层
你越是着急,就越是应该为帮助你的人提供足够的信息,这样才能早点得到解答。
参见置顶帖提问的智慧。

使用道具 举报

回复
论坛徽章:
480
榜眼
日期:2015-09-09 10:34:21秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12秀才
日期:2015-11-23 10:03:12状元
日期:2015-11-23 10:04:09举人
日期:2015-11-23 10:04:09
发表于 2017-11-14 10:09 来自手机 | 显示全部楼层
问题解决了就删帖,别人为你的无偿帮助就失去了意义,谴责这个自私的楼主!

使用道具 举报

回复
论坛徽章:
394
阿斯顿马丁
日期:2014-01-03 13:53:522014年世界杯参赛球队:喀麦隆
日期:2014-07-11 12:10:53马上有对象
日期:2014-04-09 16:19:542014年世界杯参赛球队: 洪都拉斯
日期:2014-06-25 08:25:55itpub13周年纪念徽章
日期:2014-09-28 10:55:55itpub13周年纪念徽章
日期:2014-10-01 15:27:22itpub13周年纪念徽章
日期:2014-10-09 12:04:18马上有钱
日期:2014-10-14 21:37:37马上有钱
日期:2015-01-22 00:39:13喜羊羊
日期:2015-02-20 22:26:07
发表于 2017-11-14 15:22 | 显示全部楼层
newkid 发表于 2017-11-14 10:09
问题解决了就删帖,别人为你的无偿帮助就失去了意义,谴责这个自私的楼主!

附议  

使用道具 举报

回复
认证徽章
论坛徽章:
10
托尼托尼·乔巴
日期:2017-07-18 13:02:53秀才
日期:2017-07-11 13:54:02目光如炬
日期:2017-06-26 17:00:03蒙奇·D·路飞
日期:2017-03-09 11:24:29水瓶座
日期:2016-04-15 16:17:04秀才
日期:2016-03-24 09:10:242016猴年福章
日期:2016-01-27 14:16:27猴赛雷
日期:2016-01-27 14:16:27秀才
日期:2015-12-14 14:56:09秀才
日期:2017-09-18 17:32:11
发表于 2017-11-15 15:38 | 显示全部楼层
楼主,把问题和解决方法重新发一下吧,这样也许能帮助更多的小伙伴~

使用道具 举报

回复
论坛徽章:
0
 楼主| 发表于 2017-11-15 15:49 | 显示全部楼层
问题和解决都在2楼啊 ~~~~谢谢2楼大神

使用道具 举报

回复

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

本版积分规则

TOP技术积分榜 社区积分榜 徽章 电子杂志 团队 统计 虎吧 老博客 知识索引树 读书频道 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档 | IT博客
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛 | SAP ERP系统
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 网站律师 隐私政策 知识产权声明
京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表