查看: 769|回复: 11

[SQL] 111

[复制链接]
论坛徽章:
2
目光如炬
日期:2018-04-29 22:00:00山治
日期:2018-06-08 15:49:43
发表于 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;
求职 : 数据库开发
论坛徽章:
24
秀才
日期:2017-08-11 15:38:46秀才
日期:2018-01-02 15:17:54秀才
日期:2018-01-02 15:18:22秀才
日期:2018-01-02 15:18:22秀才
日期:2018-01-02 15:18:22秀才
日期:2018-01-02 15:18:22秀才
日期:2018-01-02 15:18:22技术图书徽章
日期:2018-01-02 15:18:30秀才
日期:2018-03-01 10:05:18秀才
日期:2018-05-22 15:21:20
发表于 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

使用道具 举报

回复
求职 : 数据库开发
论坛徽章:
24
秀才
日期:2017-08-11 15:38:46秀才
日期:2018-01-02 15:17:54秀才
日期:2018-01-02 15:18:22秀才
日期:2018-01-02 15:18:22秀才
日期:2018-01-02 15:18:22秀才
日期:2018-01-02 15:18:22秀才
日期:2018-01-02 15:18:22技术图书徽章
日期:2018-01-02 15:18:30秀才
日期:2018-03-01 10:05:18秀才
日期:2018-05-22 15:21:20
发表于 2017-11-13 18:43 | 显示全部楼层
强烈建议以后问问题给出测试脚本  很多问题构建临时表的时间都比给出结果的时间长

使用道具 举报

回复
论坛徽章:
2
目光如炬
日期:2018-04-29 22:00:00山治
日期:2018-06-08 15:49:43
 楼主| 发表于 2017-11-13 18:54 | 显示全部楼层
却早已分离 发表于 2017-11-13 18:43
强烈建议以后问问题给出测试脚本  很多问题构建临时表的时间都比给出结果的时间长

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

使用道具 举报

回复
论坛徽章:
2
目光如炬
日期:2018-04-29 22:00:00山治
日期:2018-06-08 15:49:43
 楼主| 发表于 2017-11-13 21:22 | 显示全部楼层
却早已分离 发表于 2017-11-13 18:43
强烈建议以后问问题给出测试脚本  很多问题构建临时表的时间都比给出结果的时间长

不好意思  看错了  

使用道具 举报

回复
论坛徽章:
528
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
发表于 2017-11-13 23:17 | 显示全部楼层
你越是着急,就越是应该为帮助你的人提供足够的信息,这样才能早点得到解答。
参见置顶帖提问的智慧。

使用道具 举报

回复
论坛徽章:
528
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
发表于 2017-11-14 10:09 来自手机 | 显示全部楼层
问题解决了就删帖,别人为你的无偿帮助就失去了意义,谴责这个自私的楼主!

使用道具 举报

回复
论坛徽章:
401
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
发表于 2017-11-14 15:22 | 显示全部楼层
newkid 发表于 2017-11-14 10:09
问题解决了就删帖,别人为你的无偿帮助就失去了意义,谴责这个自私的楼主!

附议  

使用道具 举报

回复
认证徽章
论坛徽章:
11
秀才
日期:2015-12-14 14:56:09秀才
日期:2017-09-18 17:32:11托尼托尼·乔巴
日期: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
发表于 2017-11-15 15:38 | 显示全部楼层
楼主,把问题和解决方法重新发一下吧,这样也许能帮助更多的小伙伴~

使用道具 举报

回复
论坛徽章:
2
目光如炬
日期:2018-04-29 22:00:00山治
日期:2018-06-08 15:49:43
 楼主| 发表于 2017-11-15 15:49 | 显示全部楼层
问题和解决都在2楼啊 ~~~~谢谢2楼大神

使用道具 举报

回复

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

本版积分规则 发表回复

【有奖讨论】解决存储挑战了解一下
奖品:米家车载空气净化器 、米家声波电动牙刷 、小米运动蓝牙耳机

在数字经济时代,井喷式增长的数据,在释放大量商业价值的同时,也随之对企业的IT基础设施带来了不容忽视的挑战!如何存储、管理、使用这些数据呢?这是一条比以往更艰难的路~

活动时间:9月20日-10月11日

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