汇总套数 成套即匹配
SELECT * INTO #ALLData FROM MOCombine a WHERE LEN([a].[FirstMOId]) =LEN('011000189383') AND [a].[CreateDate]>= DATEADD(MONTH, -3, GETDATE())
CREATE TABLE #AA([MOCombine] CHAR(12),FullName NVARCHAR(100))
CREATE TABLE #ZZ([MOCombine] CHAR(12),FullName NVARCHAR(100))
INSERT INTO [#AA]([MOCombine],[FullName])
SELECT [a].[MOCombineId], REPLACE([a].[FirstMOId],' ','')+','+ REPLACE([a].[SecondMOId],' ','') FROM #ALLData a
WHERE ISNULL( a.[ThirdMOId],'')='' AND ISNULL( a. [FourthMOId],'')='' --汇总两个的
UNION ALL
SELECT [a].[MOCombineId], REPLACE([a].[FirstMOId],' ','')+','+ REPLACE([a].[SecondMOId],' ','')+','+ REPLACE([a].[FourthMOId],' ','')
FROM #ALLData a WHERE ISNULL( a.[ThirdMOId],'')='' AND ISNULL( a. [FourthMOId],'')>'' --汇总三个的
UNION ALL
SELECT [a].[MOCombineId], REPLACE([a].[FirstMOId],' ','')+','+ REPLACE([a].[SecondMOId],' ','')+','+ REPLACE([a].[ThirdMOId],' ','')+','+ REPLACE([a].[FourthMOId],' ','') FROM #ALLData a
WHERE ISNULL( a.[ThirdMOId],'')>'' AND ISNULL( a. [FourthMOId],'')>'' --汇总三个的
SELECT ROW_NUMBER() OVER(ORDER BY A.[MOCombine])FSEQ, [a].[MOCombine],[a].[FullName] INTO #BB FROM #AA a
DECLARE @hx_cg INT = 1
DECLARE @PCBQ_A INT=0
SELECT @PCBQ_A=MAX( [#BB].[FSEQ]) FROM #BB
WHILE(@hx_cg<=@PCBQ_A)
BEGIN
DECLARE @AA CHAR(12)='' DECLARE @BB NVARCHAR(100)=''
SELECT @AA =[#BB].[MOCombine], @BB=[#BB].[FullName] FROM #BB WHERE [#BB].[FSEQ]=@hx_cg
INSERT INTO #ZZ ( [MOCombine],[FullName])
SELECT @AA,LTRIM(parameter_Value) FROM dbo.GetCombineMO(@BB)
SET @hx_cg= @hx_cg+1
END
SELECT * FROM #ZZ

浙公网安备 33010602011771号