创建2015年和2016年的待售表

时间:2017-01-31 13:43:54

标签: sql

我在底部有销售表:

现在我想创建一个表来比较从今年到去年同一天的销售数字。我希望得到的结果是:

Saledate2016        salevolume2016       saledate2015       salevolume2015 

2016.01.01          10                   2015.01.01         10    
2016.02.01          20                   2015.02.01         20    
2016.03.01          20                   2015.03.01         10    
2016.04.01          60                   2016.04.01         50    
2016.05.01          10                   2016.05.01         10  

你能帮我怎么做吗?

由于

CREATE TABLE
Saletotal (Saledate date, Salevolume int)
INSERT INTO Saletotal (Saledate, Salevolume)
VALUES
('2016.01.01', 10),
('2016.02.01', 20),
('2016.03.01', 20),
('2016.04.01', 60),
('2016.05.01', 10),
('2015.01.01', 10),
('2015.02.01', 20),
('2015.03.01', 10),
('2015.04.01', 50),
('2015.05.01', 10)

1 个答案:

答案 0 :(得分:0)

这是一个适用于SQL Server的解决方案:

select s2016.Saledate Saledate2016, 
s2016.Salevolume SaleVolume2016, 
s2015.Saledate SaleDate2015, 
s2015.Salevolume SaleVolume2015
from Saletotal s2016
join Saletotal s2015 on s2015.Saledate = dateadd(year, -1, s2016.SaleDate)