Сводные данные для месячной группы в нескольких временных таблицах - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть несколько временных таблиц, и я беру дату из каждой временной таблицы и получаю ежемесячный счет. В конце я хочу создать одну большую таблицу, чтобы дать общее количество по месяцам для каждой категории. У меня математика работает, но я не могу понять, как перечислить один месяц и дать все данные за этот месяц.

Код SQL:

/*
Get Orders put in by staff
*/
if object_id('tempdb..#suborder') is not null drop table #suborder 
select a.CustSID, a.enteredDateTime, a.EnteredByEmpSID

into #suborder
from Truck.Order a
where a.enteredDateTime >= '20180801'
and a.enteredDateTime <= '20180829'

if object_id('tempdb..#order') is not null drop table #order 
select month(a.enteredDateTime) as CM,
count (a.CustSID) as 'Order Count'

into #order
from #suborder a
join emp.employee b on b.EmpSID = a.EnteredbyEmpSID 

where  b.EmpName = @name
group by month(a.enteredDateTime)
order by month(a.enteredDateTime)

/*
Get # of Notes entered by a Employee
*/

if object_id('tempdb..#subnote') is not null drop table #subnote 
select a.custSID, a.EnteredByEmpSID, a.EntryDateTime 

into #subnote
from doc.storage a
where a.EntryDateTime >= '20180801' 
and a.EntryDateTime <= '20180930'
and a.signedbyStaffSID is not null 

if object_id('tempdb..#note') is not null drop table #note
select month(a.EntryDateTime) as CM,
count (a.custSID) as 'Note Count'

into #note
from #subnote a
join emp.employee b on b.EmpSID = a.EnteredbyEmpSID 
where b.EmpName = @name 
group by month(a.EntryDateTime)
order by month(a.EntryDateTime)

/*
Join all the counts together and sum total workload
*/

 SELECT o.CM,
   n.CM,
   o.[Order Count] + n.[Note Count] [Total Workload]
   FROM #order o
        cross join #note n

Мой конечный результат, я бы хотел:

CM        Order Count        Note Count       Total Workload
8          15                 30               45
9          17                 25               42

В настоящее время я получаю:

CM        CM         Order Count        Note Count        Total Workload
8         8            15                 30                45
9         9            17                 25                42
...