我正在寻找一个查询得到以下的输出:(递归)的SQL查询,而不是循环
Id Number
-- ------
1 241100
2 241110
2 241111
2 241112
2 241113
2 241114
2 241115
表strucutre:
Id Number From To
-- ------ ---- ----
1 241100 NULL NULL
2 241110 111 115
行没有自/至范围必须返回号码。其他人必须返回数字后跟SUBSTRING(Number, 1, 3) + <from/to range>
一种可能的解决方案是使用while循环。但那不是我喜欢的方式。而且速度很慢。而且没有办法改变数据结构。我们查询来自第三方供应商的数据。
在应用程序的网站我有数字的(很小)列表,如“241113”,“241000”,...和需要知道哪个ID这个数字被分配到。
查询我会用得到的结果是:
SELECT Id, Number FROM MyView WHERE Number IN ('241113', '241000')
“FROM”始终是“RIGHT(数字,3)+1还是NULL”? –
你是否有必要生成这个范围的数字?这些数字的消费者是什么? – Reinderien
恕我直言,这应该被标记间隙和岛屿。事实上,有一个递归查询可能。 – wildplasser