下面是我所處的場景。我有以下格式的數據。帶有多列的SQL Server動態數據透視表
IssuedOn Country Sales Transactions
------------------------------------------
29-Aug-16 India 40 8
29-Aug-16 Australia 15 3
29-Aug-16 Canada 15 3
30-Aug-16 India 50 10
30-Aug-16 Australia 25 5
30-Aug-16 Canada 10 2
31-Aug-16 India 100 25
31-Aug-16 Australia 30 10
31-Aug-16 Canada 55 12
這是輸出我找
IssuedDate Australia Canada India TotalSales Transactionscount
---------------------------------------------------------------------
29-Aug-16 15 15 40 70 14
30-Aug-16 25 10 50 85 17
31-Aug-16 30 55 100 185 47
我已經能夠轉動的國家的數據,並獲得了「總銷售額」欄。但是,我無法獲得「總交易」列的權利。
下面是生成源數據表的代碼。如果有人能指導我,那真的會有所幫助。
Create Table tbl1
(
IssuedOn date,
Country varchar(100),
Sales bigint,
Transactions bigint
)
Insert into tbl1(IssuedOn, Country, Sales, Transactions)
Values ('2016-08-29', 'India', 40, 8),
('2016-08-29', 'Australia', 15, 3),
('2016-08-29', 'Canada', 15, 3),
('2016-08-30', 'India', 50, 10),
('2016-08-30', 'Australia', 25, 5),
('2016-08-30', 'Canada', 10, 2),
('2016-08-31', 'India', 100, 25),
('2016-08-31', 'Australia', 30, 10),
('2016-08-31', 'Canada', 55, 12)
select *
from tbl1
非常感謝John。存儲過程就像一個魅力。將不得不詳細說明它的邏輯。同時,是否有一種簡單的方法可以在結果集中將NULL值設置爲0。 –
@AnujDwivedi更新了我的答案以顯示0而不是零 –