を追加するとき、私は、このストアドプロシージャがあります。行と列の合計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
キーワード: 'ROLLUPによるグループ' –
また、 'GROUP BY GROUPING SETS'です。 – Wanderer