2016-06-28 14 views
0

由於此查詢,我似乎正在獲取重複項。我想要做的唯一分析就是調用/總訂單的總和,並且能夠查看訂單範圍內的訂單生成了多少個support_tickets,最長爲call_date。編碼非常簡單,但卻非常複雜。這是我的嘗試。我也嘗試將下面的內容更改爲一個聯合,但仍然得到錯誤的總體結果。聚合以主要方式影響結果

查詢:

SELECT marketing_code, 
     count(order_code) order_code_count, 
     order_date, 
     sum(support_ticket_call) call_count, 
     call_date 
FROM 
    (select distinct marketing_code, order_code, order_date from table1) a 
left join 
    (select count(call_ids) as support_ticket_Call, call_date 
    FROM table2 group by call_date) b 
    on b.order_ID_code = a.order_id_code 
group by marketing_code, order_date, call_date 

請注意,呼叫可以在比訂單更晚的日期發生。訂單日期在表1中,但不在表2中; call_date在表2中,但不在表1中。而且,在數據中,市場代碼是AB16或AB17。

的樣本數據:

Marketing code order_code_count call_count call_date  order_date 
AB16    30     45   2016-01-01 2015-12-27 
AB17    13     17   2016-01-02 2015-12-29 
AB16    24     29   2016-01-02 2016-01-01 

的支持票電話之和應大於訂單數量較低。

+0

你能請張貼樣本數據,或者我的假設,A.marketingcode IS NOT NULL – mohan111

+0

不能爲null。我現在會發布樣本數據,謝謝 – ilovechicago

+0

爲什麼你按'category_name'分組? – maialithar

回答

0

您可以通過order_id_code加入您的表格,但在加入的右側您可以統計一天內的所有來電。這看起來不正確。嘗試是這樣的:

select 
    marketing_code 
    count(order_code) order_code_count 
    order_date 
    count(call_ids) call_count 
    call_date 
from 
    table1 a left join table2 b on b.order_ID_code = a.order_id_code 
group by 
    marketing_code, order_date, call_date 
+0

但我需要call_date列 – ilovechicago

+0

,所以我在這個查詢中使用它... – maialithar

+0

我會給它一個:) – ilovechicago