我每天都會進行相當多的數據分析並使用SQL,但我的查詢相當簡單,通常會拉動大量數據,之後我在Excel中操作,我有更多的經驗。根據不同的標準添加另一列(SQL服務器)
這一次雖然我試圖生成一些實時圖表,其中有一個SQL查詢作爲輸入。現在我不得不在我熟悉的Excel工具的幫助下創建複雜的表格。
的問題如下:
我們有回答到呼入電話和撥打境外CALS預定預約電話銷售代理。這些將產生可能導致出售的潛在客戶。針對此問題相關的表和字段是這些:
Contact Table
Agent
Sales Table
Price
OutboundCallDate
我想知道每個電話銷售代理各自的銷售總額在一列中,而在另一個自己呼出的銷售值。
最終的結果應該是這個樣子:
+-------+------------+---------------+ | Agent | TotalSales | OutboundSales | +-------+------------+---------------+ | Tom | 30145 | 0 | | Sally | 16449 | 1000 | | John | 10500 | 300 | | Joe | 50710 | 0 | +-------+------------+---------------+
隨着下面的SQL我得到以下結果:
SELECT contact.agent, SUM(sales.price)
FROM contact, sales
WHERE contact.id = sales.id
GROUP BY contact.agent
+-------+------------+ | Agent | TotalSales | +-------+------------+ | Tom | 30145 | | Sally | 16449 | | John | 10500 | | Joe | 50710 | +-------+------------+
我想第三列添加到該查詢結果,其中價格僅在OutboundCallDate
字段包含數據的記錄中相加。有點像(其中sales.OutboundCallDate
不是空)
我希望這已經夠清楚了。讓我知道如果情況並非如此。
這並不完全清楚你在問什麼。你想像'SUM(CASE WHERE sales.OutboundCallDate IS NOT NULL THEN sales.price ELSE 0 END)'? – Dan 2014-08-29 16:07:55
你讓它看起來很簡單!我只是要糾正案件的情況下。感謝萬丹! – Sergio 2014-08-30 05:47:00