多字段放到一列函数

name val memo
a    2   a2(a的第二个值)
a    1   a1--a的第一个值
a    3   a3:a的第三个值
b    1   b1--b的第一个值
b    3   b3:b的第三个值

变成:

name   memo

a         a2(a的第二个值),a1--a的第一个值,a3:a的第三个值
b        b1--b的第一个值,b3:b的第三个值

----------------------------------------------------------------------------------------------------------

用函数实现:

ALTER FUNCTION [dbo].[f_str](@code varchar(8))
RETURNS varchar(8000)
AS
BEGIN
    DECLARE @r varchar(8000)
    SET @r = ''
    SELECT @r = @r + ',' + memo FROM tab WHERE name=@code 

    RETURN @r
END

 

select  name ,dbo.f_str(name) from tb

您可以选择一种方式赞助本站