我正在尝试制作类似于图表列表的内容,而我的实际查询是这样的:
SELECT
user.username,
songs.*,
albums.desc,
albums.release,
albums.name,
AVG(songrating.rating)
FROM
songs
INNER JOIN
user
ON
songs.userid=user.id
INNER JOIN
albums
ON
songs.albumid=albums.id
INNER JOIN
songrating
ON
songs.id=songrating.songid
GROUP BY
songrating.songid
它只显示至少有一个评级条目的条目,但我也希望这些条目没有评级
我尝试将它用于if / case但它不起作用(或者我做错了)
如果我删除avg等,它可以正常工作。
答案 0 :(得分:0)
可能是JOIN问题
INNER JOIN关键字选择两个表中的所有行,只要两个表中的列匹配即可。
LEFT JOIN关键字返回左表(table1)中的所有行,右表(table2)中的匹配行。当没有匹配时,结果在右侧为NULL。
尝试LEFT JOIN