我有两个相同的表(_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