展望創建自己的報告/統計頁面爲我們的呼叫中心...從多個表,MSSQL,PHP中獲取數據,阿帕奇
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) 但通話時間必須是所有的通話瘋狂的SUM e當天(不僅僅是通過活動而且不與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'功能的影響。
任何人都可以點亮一下嗎?
抱歉,無法弄清楚如何格式化我的表更好看和可讀性。 – 2013-02-25 21:37:11
您可以在這裏創建您的選項卡的示例:http://sqlfiddle.com/。然後玩這個查詢會更容易。它看起來好像你需要子選擇。所以'(從1 = 1的表中選擇一些東西)「。 – webnoob 2013-02-25 22:00:04
感謝webnoob ......已經研究子查詢,不知道我理解他們100%。 – 2013-02-25 22:16:06