我在表 Table1 中有两列 Col1 和 Col2。如果 Col1 的 2 行的值为“C,B”和“A,B”,Col2 的 2 行的值为“ASC”和“DES”,我需要按顺序输出两行“ ADES,B" & "CASC,B" (即,它应该根据第一个值排序)。
Col1 值应基于逗号分隔,并应与 Col2 值组合,输出应基于第一个值按排序顺序。
我有一个字符串拆分功能,如下所示:
ALTER FUNCTION [dbo].[SplitString](@String nvarchar(4000), @Delimiter char(1))
returns @temptable TABLE (items nvarchar(4000))
as
begin
declare @idx int
declare @slice nvarchar(4000)
select @idx = 1
if len(@String)<1 or @String is null return
while @idx!= 0
begin
set @idx = charindex(@Delimiter,@String)
if @idx!=0
set @slice = left(@String,@idx - 1)
else
set @slice = @String
if(len(@slice)>0)
insert into @temptable(Items) values(@slice)
set @String = right(@String,len(@String) - @idx)
if len(@String) = 0 break
end
return
end
输入列样本值:
Col1 Col2
C,B ASC
A,B DES
期望的输出:
Output
ADES,B
CASC,B
任何人都请帮助获得所需的输出。