SQL将范围拆分为单个行
我有一张这样的桌子:SQL将范围拆分为单个行,sql,Sql,我有一张这样的桌子: JOBNO STARTNO ENDNO 123 1 5 456 6 7 789 8 10 STARTNO JOBNO 1 123 2 123 4 123 5 123 6 456 7 456 8 789 9 789 10
JOBNO STARTNO ENDNO
123 1 5
456 6 7
789 8 10
STARTNO JOBNO
1 123
2 123
4 123
5 123
6 456
7 456
8 789
9 789
10 789
我需要这样的输出:
JOBNO STARTNO ENDNO
123 1 5
456 6 7
789 8 10
STARTNO JOBNO
1 123
2 123
4 123
5 123
6 456
7 456
8 789
9 789
10 789
您需要递归cte:
这假设您正在使用SQL Server运行,如果不是,则语法可能会有所不同
如果startno有更多的间隙,请使用选项maxrecursion 0 您没有指定DBMS,但对于Postgres,您可以使用generate_series:
在线示例:您能否向我们展示您为获得预期输出而编写的查询?你得到了什么结果?