我正在处理我的PHP应用程序,并且遇到了此查询的问题:
SELECT imagesets.id, imagesets.name, users.name AS username, users.email, COUNT(images.id) AS count
FROM fotosite.imagesets
INNER JOIN users ON imagesets.userid = users.id
INNER JOIN images ON imagesets.id = images.imageset
GROUP BY imagesets.id
ORDER BY imagesets.id desc;
但是,如果images
表中没有与给定ID匹配的数据,则该查询不会返回结果。
例如,此查询工作正常,但不提供我想要的计数列:
SELECT imagesets.id, imagesets.name, users.name AS username, users.email
FROM fotosite.imagesets
INNER JOIN users ON imagesets.userid = users.id
GROUP BY imagesets.id
ORDER BY imagesets.id desc;
答案 0 :(得分:2)
使用LEFT JOIN
代替INNER JOIN
。 INNER JOIN将仅返回第二个表中可用于连接条件的数据行。 LEFT JOIN也返回在另一个表中的行上无法连接的行。