sql server语句 单行数字数据拆分成多行

求sql语句原表RoomIDBedNum10002101111012210134查询效果RoomIDBedNumBedNo100021100022101111101221... 求sql语句
原表
RoomID BedNum
1000 2
1011 1
1012 2
1013 4

查询效果
RoomID BedNum BedNo
1000 2 1
1000 2 2
1011 1 1
1012 2 1
1012 2 2
1013 4 1
1013 4 2
1013 4 3
1013 4 4
展开
 我来答
鲜美还清湛灬白桦N
2015-10-30 · TA获得超过620个赞
知道小有建树答主
回答量:404
采纳率:50%
帮助的人:526万
展开全部
Create TAble T
(
RoomID VArchar(10),
BedNum int
)

Insert into T values('1000',        2)
Insert into 则晌T values('1011',        1)
Insert into T values('1012', 陵前       2)
Insert into T 尺盯清values('1013',        4)

--如果BedNum小于等于2047
Select T.*,number from T Cross join master.dbo.spt_values B
where type='P' and  number<=BedNum and number>0

--如果BedNum小于等于32767
with CT
AS
(
Select RoomID,BedNum,1 As number from T 
union all
Select RoomID,BedNum,number+1 from CT where number<BedNum
)
Select * from CT 
order by RoomID 
OPTION (MAXRECURSION 32767)

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式