编号 @H_404_6@ |
标准宗地编码(landCode) @H_404_6@ |
所在区段编码(sectCode) @H_404_6@ |
1 @H_404_6@ |
131001BG001 @H_404_6@ |
G001 @H_404_6@ |
2 @H_404_6@ |
131001BG002 @H_404_6@ |
G001 @H_404_6@ |
3 @H_404_6@ |
131001BG003 @H_404_6@ |
G001 @H_404_6@ |
4 @H_404_6@ |
131001BG004 @H_404_6@ |
G002 @H_404_6@ |
5 @H_404_6@ |
131001BG005 @H_404_6@ |
G003 @H_404_6@ |
现在需要将表中的数据转换为如下表所示结果:
编号 @H_404_6@ |
区段编码 @H_404_6@ |
包含的标准宗地 @H_404_6@ |
1 @H_404_6@ |
G001 @H_404_6@ |
131001BG001,131001BG002,131001BG003 @H_404_6@ |
2 @H_404_6@ |
G002 @H_404_6@ |
131001BG004 @H_404_6@ |
3 @H_404_6@ |
G003 @H_404_6@ |
131001BG005 @H_404_6@ |
代码如下:
create function combstr(@name nvarchar(50))
returns nvarchar(300)
as
begin
declare @resultStr nvarchar(300)
declare @tempStr nvarchar(500)
declare @flag int
declare myCur cursor --定义游标
For(select landCode from land where sectCode=@name )
open myCur –-打开游标
fetch next from myCur into tempStr –将游标下移
set @flag=0
while @@fetch_status=0
begin
if @flag=0
begin
set @resultStr=@tempStr
end
else
begin
set @resultStr=@resultStr+','+@tempStr
end
set @flag=@flag+1
fetch next from myCur into @tempStr
end
close myCur
deallocate myCur
return @result
end
returns nvarchar(300)
as
begin
declare @resultStr nvarchar(300)
declare @tempStr nvarchar(500)
declare @flag int
declare myCur cursor --定义游标
For(select landCode from land where sectCode=@name )
open myCur –-打开游标
fetch next from myCur into tempStr –将游标下移
set @flag=0
while @@fetch_status=0
begin
if @flag=0
begin
set @resultStr=@tempStr
end
else
begin
set @resultStr=@resultStr+','+@tempStr
end
set @flag=@flag+1
fetch next from myCur into @tempStr
end
close myCur
deallocate myCur
return @result
end