gpt4 book ai didi

Mysql加入查询,获取记录列表和加入投票

转载 作者:搜寻专家 更新时间:2023-10-30 20:20:39 24 4
gpt4 key购买 nike

我在两个表上运行连接,但遇到了一些问题。

感兴趣的表:'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'

只需要应用于连接语句中的内容,而不是阻止它限制返回的照片。我知道至少我需要使用某种 OUTER 连接,但我认为 WHERE 子句仍然会阻止它工作。

我希望我的问题是有道理的...

最佳答案

您需要一个外部连接。因为您只想在外部连接上应用您的 where 条件,所以您需要在连接条件中提及 week_id。

LEFT JOIN `vote` ON `vote`.`photo_id` = `photo`.`id` AND `vote`.`week_id` = '6' 

关于Mysql加入查询,获取记录列表和加入投票,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8044057/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com