1

我正在尝试制作类似于图表列表的内容,而我的实际查询是这样的:

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 一起使用,但它不起作用(或者我做错了什么)

如果我删除平均等,它可以正常工作。

4

1 回答 1

0

可能是 JOIN 问题

只要两个表中的列之间存在匹配,INNER JOIN 关键字就会从两个表中选择所有行

LEFT JOIN关键字返回左表 (table1) 中的所有行,以及右表 (table2) 中的匹配行。当没有匹配时,右侧的结果为 NULL。

尝试左连接

于 2013-06-10T19:47:40.670 回答