使用 key 获取两列之间的数字列表
我想获取两列之间的数字列表。表值将用于生成更多行。
例如 表1:
Key StartNum EndNum
--- -------- ------
A 1 3
B 6 8
我的输出应该是:
Key Num
--- ---
A 1
A 2
A 3
B 6
B 7
B 8
我尝试了这个,但是它对我没有帮助(我需要带有钥匙的行)。
我需要在 Oracle 11g 中解决这个问题。
I want to get the list of numbers in between two columns. A tables values will be used to generate more rows.
e.g
Table1:
Key StartNum EndNum
--- -------- ------
A 1 3
B 6 8
My output should be:
Key Num
--- ---
A 1
A 2
A 3
B 6
B 7
B 8
I tried this, but it didn't help me (I need rows with the key).
I need to solve this in Oracle 11g.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
a_horse_with_no_name-s 解决方案将是
输出:
但我更喜欢创建一个全局临时表并从 plsql 填充它,因为上述方法包含表上的后续 decart(因此需要不同)。
http://www.dba-oracle.com/t_temporary_tables_sql.htm
a_horse_with_no_name-s solution would be
Output:
But I'd prefer creating a global temporary table and populate it from plsql, as the above method contains subsequent decarts on the table (thus the distinct required).
http://www.dba-oracle.com/t_temporary_tables_sql.htm
这是贾斯汀解决方案的稍微改编版本,发布于: 获取两列之间的数字列表
我对内部查询中需要
distinct
不满意,但我目前没有时间更深入地研究这一点。This is a slightly adapted version of Justin's solution posted in: get list of numbers in between two columns
I'm not happy with the need for the
distinct
in the inner query, but I currently don't have the time to dig deeper into this.试试这个,
Try this,
在事务 SQL 中创建存储过程
Create a store procedure in transact SQL