MySQLi内连接无法正常工作

时间:2018-02-08 10:48:00

标签: php mysqli

我有一个查询选择显示旁边的评分。但如果没有任何费率,它将无法运作。我希望它在评级表中找到零结果时才能工作。

我的查询是

$shows = $DB->query('SELECT
p.id, p.title, p.cover, p.summary, p.genre, p.year, 
ROUND(AVG(pr.rating), 1) AS rating_average
FROM shows p
INNER JOIN shows_ratings pr
ON pr.showid = p.id');

1 个答案:

答案 0 :(得分:0)

使用左连接更改内连接。

说明:您正在尝试在其他表中不存在的键上加入两个表,这就是为什么您没有在内部联接中获得任何结果的原因。而当在评级表中不存在密钥时,左连接将返回评级为空。

   $shows = $DB->query('SELECT
    p.id, p.title, p.cover, p.summary, p.genre, p.year, 
    ROUND(AVG(pr.rating), 1) AS rating_average
    FROM shows p
    LEFT JOIN shows_ratings pr
    ON pr.showid = p.id');