繁体   English   中英

此SQL连接查询出了什么问题

[英]What is wrong with this SQL join query

因此,所有字段和表都存在并且具有相关数据(已选中)。 但这并没有给我任何结果。

SELECT `r`.*, `k`.`keyword`, `c`.`name`, `c`.`state`
FROM `local_rank` as `r`
LEFT JOIN `keyword` as `k` ON `r`.`keyword_id` = `k`.`keyword_id`
LEFT JOIN `campaign` as `c` ON `k`.`campaign_id` = `c`.`campaign_id`
WHERE `c`.`campaign_id` = '6'
AND `r`.`location` = '60602'
ORDER BY `local_rank_id` DESC
 LIMIT 6, 60602

当我删除任何一个WHERE / AND条件时,它将获取数据行。

由于您使用带偏移量的“ LIMIT”,因此至少应显示60602条以上的记录。 您可以通过删除LIMIT偏移量并计算返回的行数来验证这一点。

SELECT `r`.*, `k`.`keyword`, `c`.`name`, `c`.`state`
FROM `local_rank` as `r`
LEFT JOIN `keyword` as `k` ON `r`.`keyword_id` = `k`.`keyword_id`
LEFT JOIN `campaign` as `c` ON `k`.`campaign_id` = `c`.`campaign_id`
WHERE `c`.`campaign_id` = '6'
AND `r`.`location` = '60602'
ORDER BY `local_rank_id` DESC
 LIMIT 6

从限制中删除偏移量,您可能没有超过60602行与您的查询匹配

SELECT `r`.*, `k`.`keyword`, `c`.`name`, `c`.`state`
FROM `local_rank` as `r`
LEFT JOIN `keyword` as `k` ON `r`.`keyword_id` = `k`.`keyword_id`
LEFT JOIN `campaign` as `c` ON `k`.`campaign_id` = `c`.`campaign_id`
WHERE `c`.`campaign_id` = '6'
  AND `r`.`location` = '60602'
ORDER BY `local_rank_id` DESC
LIMIT 6

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM