我有兩個相同的表(_impressionsdaily,_impressionsalltime),在每天結束時我將所有數據從日常移動到所有時間。 結構是:ID,purchaseID,印象,唯一,日期。mysql左連接不返回來自連接表的行
我運行下面的查詢:
SELECT
daily.purchaseID,
SUM(daily.impression + IFNULL(alltime.impression, 0)) AS impression,
SUM(daily.unique + IFNULL(alltime.unique, 0)) AS `unique`
FROM _impressionsdaily daily
LEFT JOIN _impressionsalltime alltime ON alltime.purchaseID= daily.purchaseID
GROUP BY daily.purchaseID;
的事情是,如果alltime表有不可用在日常採購,我不會看到他們。
基本上這個想法是總結所有的日常和全天候的印象。
---編輯 事情是在每天上午12:00,每天的表被複制到全時,然後刪除。 所以給出的解決方案是錯誤的..
感謝您的幫助, 丹尼
是否在複製到不斷的alltime表日常表中的記錄?或基於時間的,所以所有的時間都與每日不同步?如果它們不同步,則需要進行某種外連接,因爲內連接/左連接/右連接只會查找存在於任一表中或兩個表中的記錄。 – 2013-03-04 17:28:10
http://dev.mysql.com/doc/refman/5.0/en/union.html – 2013-03-04 17:34:22
我熟悉工會......只需要@SeamWM思維方式 – 2013-03-04 17:42:36