【发布时间】:2013-02-11 04:24:14
【问题描述】:
希望为我们的呼叫中心创建我自己的报告/统计页面...
Table 1 (agent)
CODE....NAME
AXA apple bottom
AXB apple pear
Table 2 (stat)
AGENT.....CAMPAIGN....CALLS....PITCHES.....TALKTIME......dialdate
AXA CCC 5 2 90(sec) 2-2-2013
AXA DDD 5 2 20(sec) 2-2-2013
AXB DDD 1 1 20(Sec) 2-2-2013
Table 3 (result_CCC)
AGENTID.....lcdate......samount.....upamt......termcd
AXA 2-2-2013 $10 $5 SA
Table 4 (result_DDD)
AGENTID.....lcdate......samount.....upamt......termcd
AXA 2-2-2013 $0 $0 BN
AXB 2-2-2013 $0 $0 NI
我想如下显示我的表格
Agent Name --- Calls ---- Pitches --- talktime --- samount --- upamt
Apple Bottom 10 4 110(sec) $10 $5
但通话必须是当天所有通话的总和(不仅按广告系列,也不与 TERMCD 绑定) 但是投球必须是当天所有投球的总和(不仅仅是竞选活动,也与 TERMCD 无关) 但通话时间必须是当天所有通话时间的总和(不仅仅是竞选活动,也与 TERMCD 无关) samount 必须是当天所有 termcd = SA 的总和 upamt 必须是当天所有 termcd = SA 的总和
这是我现在使用的字符串,它仍然缺少一些项目:
SELECT agent.name, stats.agent, SUM(stats.calls) AS sumcalls, SUM(stats.pitches) AS sumpitches, SUM(stats.talktime) AS sumtalktime, SUM(stats.wrapuptime) as sumwrapuptime, SUM(stats.dialtime) as sumdialtime, (SUM(stats.wrapuptime) + SUM(stats.talktime) + sum(stats.dialtime)) as sumtotal
FROM dbo.stats
INNER JOIN dbo.agent ON agent.code = stats.agent
WHERE (stats.agent !='' and stats.dialdate = '".($_GET['datetime'])."') and (stats.campaign = '".($_GET['camp_select'])."' or stats.campaign = '')
GROUP BY agent.name, stats.agent
ORDER BY SUM(stats.talktime) ASC";
我对此的担忧是,当我开始添加 WHERE termcd = 'SA' 时,我的通话、音调、通话时间等也会发生变化,但这些列不需要受 TERMCD = 的影响'SA' 函数。
谁能解释一下?
【问题讨论】:
-
抱歉,不知道如何格式化我的表格以使表格看起来更好读。
-
您能否在此处创建标签示例:sqlfiddle.com。那么使用查询会更容易。看起来好像您需要子选择。所以
(select something from table where 1=1) as something. -
感谢 webnoob...已经研究过子选择,不确定我是否 100% 理解它们。
标签: php sql sql-server apache