2017-01-31 40 views
-1

创建表,我有销售表底部:出售2015年and2016

现在我想创建一个表,以去年和今年比较之日起,销售数字为相同的日期。我想要的结果是:

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

自加盟,或许需要外。 – jarlh

+0

我认为这不是一个好的表格设计 – GurV

+0

我用它在SSRS上创建图表 – phalondon

回答

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)