select D.[Date], E.emp_name, E.emp_jde, count(C.[agent_no]) calls, count(S.[EMPJDENUM]) sales
from
(select cast([start_date] as date) dte, [agent_no]
from call_table
where [skill_name] like '%5700 sales l%'
and [Agent_Time] != '0'
) C
full outer join
(select [AC#DTE_dt], [EMPJDENUM]
from sales_table
where [ICGCD2] in ('LAWN', 'HORT')
and [CHANNEL]= 'INQ'
and [ITMQTY]>3
) S on c.dte=s.[AC#DTE_dt]
right join
(select [Date]
from Date_table
) D on c.dte=d.[Date] or s.[AC#DTE_dt]=d.[Date]
right join
(select [emp_name], [emp_jde], [agent_no]
from Employee_table
) E on C.[agent_no]=E.agent_no and S.[EMPJDENUM]=E.emp_jde
group by D.[Date], E.emp_name, E.emp_jde
日のテーブルにまたがる集計/グループ化:すべての日付は、通話と販売の両方を持つことになります。達成する必要があるものSQLクエリ -</p> <p><a href="https://i.stack.imgur.com/buP9r.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/buP9r.jpg" alt="enter image description here"></a></p> <p>注 - 複数のテーブル
- -
追加テーブル
1)agent_no上(通話テーブルを結合して、従業員による参加と集計通話や販売)およびJDEの販売( )テーブル
2)すべての日付にコールと販売の両方が含まれるわけではないため、日付ディメンションテーブルを使用してすべての日付が表示されるようにします。
望ましい結果は次のようになります -
クエリは、私が実行を書いた - それはとても長い時間がかかる私は、クエリをキャンセル終わります。
ご協力いただければ幸いです。
これらの各テーブルには、およそいくつの行がありますか? – mendosi
コールテーブルは約800k、年間売上データテーブルは約400kです。 – user3067478
見積もり実行計画を含めることができますか?https://www.brentozar.com/pastetheplan/ – mendosi