我有存储执行不同任务的过程,但我想将它们中的一些放在一起以减少在数据库中创建的存储过程的数量 . 许多程序都是基于多年的统计数据,这是一个例子:
Select
DATENAME(MONTH, DATE_) AS Date,
count(distinct VATNUMBER) As Count
from
(
select VATNUMBER, DATE_ = min(DATE_)
from
ACCOUNTS a inner join CUSTTABLE b
on a.ID= b.ID
where ITEMNUMBER in(7055,7056,7059) AND YEAR(a.DATE_) = '2017'
AND VATNUMBER NOT IN (
select VATNUMBER
from
ACCOUNTS a inner join CUSTTABLE b
on a.ID= b.ID
where ITEMNUMBER in(7055,7056,7059)
AND DATE_ < '2017-01-01'
)
group by VATNUMBER
) d
group by MONTH(DATE_), DATENAME(MONTH, DATE_)
Order by MONTH(DATE_)
2017年的结果:
Date | Count
January | 61
February | 43
March | 23
April | 48
etc....
现在我对2018年有相同的程序:
Select
DATENAME(MONTH, DATE_) AS Date,
count(distinct VATNUMBER) As Count
from
(
select VATNUMBER, DATE_ = min(DATE_)
from
ACCOUNTS a inner join CUSTTABLE b
on a.ID= b.ID
where ITEMNUMBER in(7055,7056,7059) AND YEAR(a.DATE_) = '2018'
AND VATNUMBER NOT IN (
select VATNUMBER
from
ACCOUNTS a inner join CUSTTABLE b
on a.ID= b.ID
where ITEMNUMBER in(7055,7056,7059)
AND DATE_ < '2018-01-01'
)
group by VATNUMBER
) d
group by MONTH(DATE_), DATENAME(MONTH, DATE_)
Order by MONTH(DATE_)
2018年的结果:
Date | Count
January | 119
February | 200
March | 112
April | 87
etc....
我想要做的是将两个select语句放在相同的存储过程下 . 我希望看到的结果是:
Date 2017| Count | Date 2018| Count
January | 61 | January | 119
February | 43 | February | 200
March | 23 | March | 112
April | 48 | April | 87
etc....