本文介绍了查询Shoretel报表中的多个SELECT CASE语句的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试执行一个查询,该查询允许一个视图中包含多个列.任何帮助都会有所帮助.
I am trying to do a query that allow for multiple columns in a view. Any assistance would be helpful.
SELECT queuecall1.StartTime, queuecall1.QueueName
CASE
WHEN ExitReason = 7 THEN 1 ELSE 0 END AS CallsAbandoned
WHEN ExitReason = 1 THEN 1 ELSE 0 END AS CallsAgent
WHEN calltype = 1 THEN 1 ELSE 0 END) AS CallsInternal
WHEN calltype = 2 THEN 1 ELSE 0 END) AS CallsExternal
FROM (queuecall queuecall1 INNER JOIN connect connect1
ON queuecall1.ConnectTableID=connect1.ID) INNER JOIN call call1
ON connect1.CallTableID=call1.ID
推荐答案
您需要为每列做一个单独的case语句:
You need to do a separate case statement for each column:
SELECT queuecall1.StartTime,
queuecall1.QueueName,
CASE WHEN ExitReason = 7 THEN 1 ELSE 0 END AS CallsAbandoned,
CASE WHEN ExitReason = 1 THEN 1 ELSE 0 END AS CallsAgent,
CASE WHEN calltype = 1 THEN 1 ELSE 0 END AS CallsInternal,
CASE WHEN calltype = 2 THEN 1 ELSE 0 END AS CallsExternal
FROM (queuecall queuecall1 INNER JOIN connect connect1
ON queuecall1.ConnectTableID=connect1.ID) INNER JOIN call call1
ON connect1.CallTableID=call1.ID
这将给出如下输出:
StartTime | QueueName | CallsAbandoned | CallsAgent | CallsInternal | CallsExternal
----------+-----------+----------------+------------+---------------+---------------
10:59 | Queue1 | 1 | 0 | 1 | 0
11:05 | Queue1 | 1 | 0 | 1 | 0
11:11 | Queue1 | 0 | 1 | 1 | 0
11:12 | Queue1 | 0 | 0 | 0 | 1
11:24 | Queue1 | 0 | 1 | 0 | 1
11:37 | Queue1 | 1 | 0 | 0 | 1
11:42 | Queue1 | 0 | 1 | 0 | 0
这篇关于查询Shoretel报表中的多个SELECT CASE语句的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!