【发布时间】:2013-02-18 20:56:56
【问题描述】:
我有 2 个相同的表(_impressionsdaily,_impressionsalltime),在每天结束时,我将所有数据从每天移动到所有时间。 结构为:ID、purchaseID、impression、unique、date。
我运行以下查询:
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;
问题是,如果所有时间表中的商品在日常中不可用,我将不会看到它们。
基本上,这个想法是汇总每日和所有时间的所有展示次数。
---编辑 事情是在每天凌晨 12:00,每日表被复制到所有时间,然后被删除。 所以给出的解决方案是错误的..
感谢您的帮助, 丹尼
【问题讨论】:
-
daily 表中的记录是否不断复制到 alltime 表中?或基于时间,所以所有时间与每日不同步?如果它们不同步,则需要进行某种外连接,因为内/左/右连接只会找到存在于任一表或两个表中的记录。
-
我对联合很熟悉...只是需要@SeamWM 的思维方式