SQL server 2008 把表中某一列数值拼接成一行通用函数

USE [wmsa]
GO
/****** Object:  UserDefinedFunction [dbo].[JoinOrderDetailsDescr_C]    Script Date: 07/06/2018 14:23:06 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

-- =============================================
-- Author:	YANGXUN
-- Create date: 2018-06-14
-- Description:	把波次里订单对应品名拼接起来
-- =============================================

ALTER Function [dbo].[JoinOrderDetailsDescr_C]
(
	@WaveNO as varchar(50),
	@OrderNO as varchar(50)
)
returns varchar(500)

begin
declare @s as varchar(8000),@i as int
set @s=''
set @i=0
select @s= Replace(@s,';'+ltrim(rtrim(Descr_C)),'')+';'+ltrim(rtrim(Descr_C)) from
(	
	select bs.Descr_C 
	from DOC_Order_Header a left join DOC_Order_Details b on a.OrderNo=b.OrderNo
	left join BAS_SKU bs on b.CustomerID=bs.CustomerID and b.SKU=bs.SKU
	where a.WAVENO = @WaveNO
	and a.OrderNo = @OrderNO
	group by bs.Descr_C
)A
set @s=stuff(@s,1,1,'')
return  @s
end




猜你喜欢

转载自blog.csdn.net/u013941991/article/details/80940792