コールセンター用に独自のレポート/統計ページを作成しようとしています...
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 に関連付けられていない)ただし、talktime はその日に行われたすべてのトーク時間の合計でなければなりません (キャンペーンだけでなく、TERMCD に関連付けられていない) samount はすべての termcd = SA の合計でなければなりません。その日だけの 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' の影響を受ける必要はありません。関数。
誰でも光を当てることができますか?