【发布时间】:2011-11-07 23:17:36
【问题描述】:
我正在两个表上运行连接,但遇到了一些问题。
感兴趣的表格:'photo'、'vote'、'week'
我正在尝试运行一个查询,该查询会调出照片列表,其中包含活动“周”的总票数。
“投票”表由以下外键组成:photo_id、week_id、user_id。这让我可以弄清楚投票是在哪个“周”中进行的。另外,将周视为一个实体而不是时间框架。它只是“周”表中的一条记录。
这是我目前所拥有的:
SELECT *, COUNT(*) as `weekly_votes`
FROM (`photo`)
JOIN `vote` ON `vote`.`photo_id` = `photo`.`id`
WHERE `vote`.`week_id` = '6'
GROUP BY `photo`.`id`
问题是这将拉出在指定周投票表中有投票的照片列表,但如果该周没有投票,则不会返回任何照片。
基本上是:
WHERE `vote`.`week_id` = '6'
只需要应用于join语句中的东西,而不是阻止它限制返回的照片。我知道至少我需要使用某种 OUTER 连接,但我认为 WHERE 子句仍然会阻止它工作。
我希望我的问题有意义...
【问题讨论】: