DECLARE @SQL NVARCHAR(4000) SET @SQL='SELECT ISNULL([iID],'''') [类别],' SELECT @SQL=@SQL+' SUM(CASE WHEN [Date]='''+[Date]+''' THEN [st] ELSE 0 END) ['+[Date]+'],' from (SELECT DISTINCT [Date] from #T_Convert_Year)T_Date SET @SQL=LEFT(@SQL,LEN(@SQL)-1)+' from #T_Convert_Year GROUP BY [iID] ORDER BY [iID]'
大问题:图片看不到 SQL code: DECLARE @SQL NVARCHAR(4000) SET @SQL='SELECT b.iID [类别],' SELECT @SQL=@SQL+' SUM(CASE WHEN [Date]='''+[Date]+''' THEN [st] ELSE 0 END) ['+[Date]+'],' from (SELECT DISTINCT [Date] from #T_Convert_Year)T_Date SET @SQL=LEFT(@SQL,LEN(@SQL)-1)+' from #T_Convert_Year a right join (select 1 as iID union select 0 union select -1) b on a.iID=b.iID GROUP BY b.[iID] ORDER BY b.[iID]'