我有2個表:左連接未示出NULL導致
- DAY_INTERVALS(interval_start)
- 令(CLIENT_ID,order_time,order_total_price)
我想顯示在所有的天針對ORDERS表的DAY_INTERVAL表。以下是我正在使用的SQL。
SELECT DATE_FORMAT(order_time,'%Y-%m-%d') as dates, COALESCE(SUM(order_total_price), 0) AS sales
FROM time_intervals ti
LEFT JOIN orders o
ON DATE(o.order_time) = ti.interval_start AND (o.client_id = 157 or o.client_id is NULL)
GROUP BY DAY(o.order_time)
它不顯示訂單表中不存在的日期的NULL結果。無論查詢是否在訂單表中,查詢都應顯示所有日期。
我已經看過類似的問題,但上面的查詢是我基於其他解決方案提出的。
任何意見將不勝感激。
刪除組合(和總和),看看你是否得到預期的結果 – kjana83
創建一個子查詢爲您的選擇,然後組 –
這是導致問題的小組。 SELECT interval_start,COALESCE(SUM(order_total_price),0)AS銷售 FROM time_intervals TI LEFT JOIN訂單O於DATE(o.order_time)= ti.interval_start AND( o.client_id = 157 OR o.client_id IS NULL ) GROUP BY DAY(interval_start) 這個工作 –