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=''