SQLSever多行合并成一行

--创建函数

CREATE FUNCTION [LCMS179999].[GetSYRY5](@GroupId [varchar](36))
RETURNS [varchar](4000)
AS
BEGIN
DECLARE @ReturnValue [varchar](4000)
SET @ReturnValue = ''
SELECT @ReturnValue=@ReturnValue+SZYDGLSYB_SYRYMC + '('+(CASE SZYDGLSYB_SYJG
WHEN '10' THEN '同意'
WHEN '20' THEN '原则同意'
WHEN '00' THEN '保留意见'
WHEN '90' THEN '不同意'
WHEN '30' THEN '同意缓议'
ELSE '未参与该议题' END
)+')'+','
FROM SZYDGLSYB
WHERE SZYDGLSYB_GLNM = @GroupId
SET @ReturnValue = substring(@ReturnValue,1,len(@ReturnValue)-1)
RETURN @ReturnValue
END
GO
--查询验证
SELECT SZYDGLSYB_GLNM,[LCMS179999].[GetSYRY5](SZYDGLSYB_GLNM) AS 'SYJG'
FROM (SELECT DISTINCT SZYDGLSYB_GLNM FROM SZYDGLSYB)A

--更新数据
UPDATE SZYDYTB SET SZYDYTB.SZYDYTB_SYJG=B.SYJG FROM SZYDYTB,(SELECT SZYDGLSYB_GLNM,[LCMS179999].[GetSYRY5](SZYDGLSYB_GLNM) AS 'SYJG'
FROM (SELECT DISTINCT SZYDGLSYB_GLNM FROM SZYDGLSYB)A)B
WHERE SZYDYTB_NM=B.SZYDGLSYB_GLNM AND SZYDYTB_SYJG=''

posted @ 2020-04-29 09:12  泉城余文乐  Views(147)  Comments(0Edit  收藏  举报