多字段放到一列函数

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

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

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

图片 表情