我有這個存儲過程:行和列的總動態支點在MS SQL Server 2008中,我的問題是行總計和列總計)的所有產品時添加
USE [Baxe]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[CreateTable]
AS
BEGIN
DECLARE @cols AS nvarchar(max) ,
@query AS nvarchar(max);
SET @cols = STUFF((SELECT DISTINCT ',' + QUOTENAME(bmarke)
FROM subbuyer FOR XML PATH('') , TYPE).value('.' , 'NVARCHAR(MAX)') , 1 , 1 , '');
SET @query = 'SELECT bdate, ' + @cols + ' from (select bdate, bprice as q , bmarke from subbuyer) x
pivot (SUM(q)for bmarke in (' + @cols + ')) p ';
select @cols = STUFF((SELECT distinct ',' + QUOTENAME(convert(CHAR(10), bmarke, 120))
from subbuyer
FOR XML PATH(''), TYPE
).value('.', 'NVARCHAR(MAX)')
,1,1,'')
PRINT @query;
PRINT @cols;
EXECUTE (@query);
end
,給了我這樣的輸出:
最後一行與TOTAL是我需要添加的。我怎樣才能做到這一點?
你的問題是什麼? – Kushan
關鍵字:'Group by ROLLUP' –
還有'GROUP BY GROUPING SETS'。 – Wanderer