SQL中怎么把A表一个字段的值分割出来分别填进B表不同的字段??
表A中的一个字段FPara的值为母项id=12112236001子项id=412112236001011,412112236001021,412112236001031,...
表A中的一个字段FPara的值为
母项id=12112236001 子项id =412112236001011,412112236001021,412112236001031,412112236001041,412112236001051,412112236001061,412112236001071,412112236001081,412112236001101,412112236001121,412112236001451,412112236001451,412112236001452,412112236001461,412112236001462,412112236001471,412112236001491,412112236001511,412112236001512,412112236001141 子项数量=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 计划百分比=0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,98.1 专项控制=T 物料形态属性=9,10,9,10,10,10,10,10,9,10,9,9,9,9,9,9,9,9,9,10
问题要求:SQL中怎么把A表fpara值分割出来分别填进B表不同的字段??
注意:A表中子项ID有多个(子项个数不定,以逗号分割为一个ID,子项数量,计划百分比和物料形态属性与子项ID个数相同,本题有20个子项)在B表中就要插入多少行。
B表需要的效果如下图(只做了部分): 展开
母项id=12112236001 子项id =412112236001011,412112236001021,412112236001031,412112236001041,412112236001051,412112236001061,412112236001071,412112236001081,412112236001101,412112236001121,412112236001451,412112236001451,412112236001452,412112236001461,412112236001462,412112236001471,412112236001491,412112236001511,412112236001512,412112236001141 子项数量=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 计划百分比=0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,0.1,98.1 专项控制=T 物料形态属性=9,10,9,10,10,10,10,10,9,10,9,9,9,9,9,9,9,9,9,10
问题要求:SQL中怎么把A表fpara值分割出来分别填进B表不同的字段??
注意:A表中子项ID有多个(子项个数不定,以逗号分割为一个ID,子项数量,计划百分比和物料形态属性与子项ID个数相同,本题有20个子项)在B表中就要插入多少行。
B表需要的效果如下图(只做了部分): 展开
展开全部
Declare @S1 varchar(100)
Select @S1='母项id=546456 子项id=32423,2342,2342,45645 子项数量=3 计划百分比=0.1 专项控制=T 物料形态属性=1'
select top 5 right(left(@S1,charindex(' ',(@S1))-1),charindex('=',REVERSE(left(@S1,charindex(' ',(@S1))-1)))-1) 母项id,
--left( substring(@S1,charindex(' 物料形态属性=',@S1)+8,len(@S1)),charindex(' ', substring(@S1,charindex(' 物料形态属性=',@S1)+8,len(@S1)))-1),
left( substring(@S1,charindex(' 专项控制=',@S1)+6,len(@S1)),charindex(' ', substring(@S1,charindex(' 专项控制=',@S1)+6,len(@S1)))-1) as 专项控制,
left( substring(@S1,charindex(' 计划百分比=',@S1)+7,len(@S1)),charindex(' ', substring(@S1,charindex(' 计划百分比=',@S1)+7,len(@S1)))-1) as 计划百分比,
left( substring(@S1,charindex(' 子项数量',@S1)+6,len(@S1)),charindex(' ', substring(@S1,charindex(' 子项数量',@S1)+6,len(@S1)))-1) as 子项数量,
left( substring(@S1,charindex(' ',@S1)+6,len(@S1)),charindex(' ', substring(@S1,charindex(' ',@S1)+6,len(@S1)))-1) as 子项id
,
right(@S1,charindex('=',REVERSE(@S1))-1) as 物料形态属性
Select @S1='母项id=546456 子项id=32423,2342,2342,45645 子项数量=3 计划百分比=0.1 专项控制=T 物料形态属性=1'
select top 5 right(left(@S1,charindex(' ',(@S1))-1),charindex('=',REVERSE(left(@S1,charindex(' ',(@S1))-1)))-1) 母项id,
--left( substring(@S1,charindex(' 物料形态属性=',@S1)+8,len(@S1)),charindex(' ', substring(@S1,charindex(' 物料形态属性=',@S1)+8,len(@S1)))-1),
left( substring(@S1,charindex(' 专项控制=',@S1)+6,len(@S1)),charindex(' ', substring(@S1,charindex(' 专项控制=',@S1)+6,len(@S1)))-1) as 专项控制,
left( substring(@S1,charindex(' 计划百分比=',@S1)+7,len(@S1)),charindex(' ', substring(@S1,charindex(' 计划百分比=',@S1)+7,len(@S1)))-1) as 计划百分比,
left( substring(@S1,charindex(' 子项数量',@S1)+6,len(@S1)),charindex(' ', substring(@S1,charindex(' 子项数量',@S1)+6,len(@S1)))-1) as 子项数量,
left( substring(@S1,charindex(' ',@S1)+6,len(@S1)),charindex(' ', substring(@S1,charindex(' ',@S1)+6,len(@S1)))-1) as 子项id
,
right(@S1,charindex('=',REVERSE(@S1))-1) as 物料形态属性
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询