当前位置: 代码迷 >> Sql Server >> 这种SQL语句如何写
  详细解决方案

这种SQL语句如何写

热度:4   发布时间:2016-04-24 23:27:41.0
这种SQL语句怎么写?
原来的表格式
单号      名称        唯一码
1        AAA           001|002|003
2        AAB           011|022|033
3        AAC           031|023|034

现在需要显示的效果
单号      名称        唯一码
1        AAA           001
1        AAA           002
1        AAA           003
2        AAB           011
2        AAB           022
2        AAB           033
3        AAC           023
3        AAC           031
3        AAC           034


------解决方案--------------------

select 单号,名称,left(stuff('
------解决方案--------------------
'+唯一码+'
------解决方案--------------------
',1,number,''),charindex('
------解决方案--------------------
',stuff('
------解决方案--------------------
'+唯一码+'
------解决方案--------------------
',1,number,''))-1) from tb,master..spt_values where type='p' and number <len(唯一码) and substring('
------解决方案--------------------
'+唯一码+'
------解决方案--------------------
',number,1)='
------解决方案--------------------
'

------解决方案--------------------

--测试数据
if not object_id('Tab') is null
    drop table Tab
Go
Create table Tab([单号] int,[名称] nvarchar(50),[唯一码] nvarchar(50))
Insert Tab
select 1,N'AAA',N'001
------解决方案--------------------
002
------解决方案--------------------
003' union all
select 2,N'AAB',N'011
------解决方案--------------------
022
------解决方案--------------------
033' union all
select 3,N'AAC',N'031
------解决方案--------------------
  相关解决方案