create table tb(col1 varchar(10),col2 varchar(10),col3 varchar(10),col4 varchar(10))
go
insert tb select '11111' , '222' , 'A' , 1
insert tb select '1111' , '333' , 'A' , 1
insert tb select '2222' , '999' , 'B' , 2
insert tb select '3333' , '111' , 'B' , 2
go
create FUNCTION dbo.f_str(@col3 varchar(10))
RETURNS varchar(8000)
AS
BEGIN
declare @str varchar(8000)
set @str=''
select @str=@str+case when charindex(','+col1+'-',','+@str+'-')=0 then col1+'-' else '' end
+case when charindex('-'+col2+',','-'+@str+',')=0 then col2+',' else '' end
多行合并2列并去掉重复列。
最新推荐文章于 2024-01-07 18:39:32 发布
创建了一个名为tb的表,并插入了数据。然后定义了一个名为dbo.f_str的函数,该函数用于合并col1和col2的值,同时去除重复项。最后,通过调用该函数展示了如何在col3相同的情况下合并col1和col2的值,并显示了结果。
摘要由CSDN通过智能技术生成