我已经将三个表相互连接起来。我正在查询关键字+统计信息。
我需要按日期范围获取数据,如果没有该特定日期范围的数据,我希望它返回 0 个统计信息
假设我的查询是:
SELECT keyword,SUM(stat) FROM keywords WHERE date >='2012-07-10' GROUP BY keyword;
它将返回
|我的关键字 1|3|
|我的关键字 2|6|
示例表内容:
| 编号 | 关键词 | 统计 | 日期 | 关键词组 |
| 1 | 我的关键词 1 | 2 | 2012-07-11 | 1 |
| 2 | 我的关键词 1 | 1 | 2012-07-12 | 1 |
| 3 | 我的关键字 2 | 6 | 2012-07-11 | 1 |
| 4 | 我的关键字 3 | 10 | 2012-07-09 | 1 |
但是有一些关键字没有该日期范围的统计信息,
但我仍然希望这些关键字显示为 0 作为统计信息。
像这样:
|我的关键字 1|3|
|我的关键字 2|6|
|我的关键字 3|0|
问题是 where 子句会阻止未找到的值,是否有解决方法。
正如我所说,我有三个具有关系的表,我使用 LEFT JOIN 来查询数据,为简化起见,我将这部分排除在示例查询之外。
表:广告系列
ID
名称
表:关键字组
ID
名称
活动
表:KeywordData
id
关键字
stat
日期
keywordGroup