我想从两个子查询中减去结果,但我想返回多于1行,因为我想查看总调用以及它们在特定日期范围内的差异,下面的代码会给我一个错误:“子查询返回的值超过1个值,当子查询跟随=,!=,<,<,< =,>,> =或当子查询用作表达式“。希望你能帮助我。请注意,这是存储过程的一部分。先谢谢你。减去返回多于1行的两个SQL子查询的结果
SELECT distinct
c.reporting as 'Agent_ID'
,count(a.pkey) as 'Total_Calls_Handled'
,a.MidnightStartDate as 'Call_Start_Time'
,datename(dw,a.midnightstartdate) as 'Week_day'
,a.[queue]
into #temp3
FROM t1 a
join t2 b
on a.FKAgent = b.fkagent
join t3 c
on a.agent = c.reporting
where a.agent in (
'132568'
,'116308'
,'132083'
,'113737'
)
and convert(date, midnightstartdate) BETWEEN '08/29/16' AND '08/30/19'
group by c.Reporting,a.MidnightStartDate,a.[queue]
SELECT distinct b.[Week_Day], a.[Queue],[Total ACD Calls], [Total ACD Calls Handled], count([total_calls_handled]) as 'Total ACD Calls Handledby Agent',
(select ((select [total acd calls handled] from #temp2) -
(select count([total_calls_handled]) from #temp3))) as 'OperatorsCalls'
INTO #Temp4
FROM #Temp2 a
JOIN #Temp3 b
ON a.[Queue] = b.[Queue]
GROUP BY [Total ACD Calls], [Total ACD Calls Handled], b.[Week_Day] , a.[Queue],[total_calls_handled]
你#TEMP2表可能包含的结果多行,而你在可以返回只有一个值的单个记录的上下文使用选择就可以了。 –
是的,它有多行。如果日期范围只有1天,上面的代码可以正常工作。但我希望看到整个一周的差异让我们说。有什么方法可以做到吗? – Emarie