我正在尝试基于 5 个表中的字段构建评论记录:
我已经标记了我需要的所有列,但目前我只是检索所有 user_rating 表。
这是我到目前为止所拥有的:
SELECT DISTINCT user_rating.*, whiskey.name, user_notes.overall, users.image, user_rate.rate_number
FROM user_rating
LEFT JOIN whiskey ON whiskey.id = user_rating.whiskeyid
LEFT JOIN users ON users.username = user_rating.username
LEFT JOIN user_notes ON user_notes.username = user_rating.username AND user_rating.whiskeyid = user_notes.whiskey_id
LEFT JOIN user_rate ON user_rate.whiskey_id = user_rating.whiskeyid AND user_rate.username = user_rating.username
ORDER BY user_rating.id DESC
起初我认为这给了我想要的结果,但后来我注意到我得到了多行以及太多的空字段。任何帮助将不胜感激。
编辑:
多行是指重复的行。另外,我知道左连接会在连接的右侧产生空值。我的意思是我得到的空值比我应该得到的更多,因为数据在数据库中。
为了澄清,我正在尝试创建一个最近列出的最近评论列表。每条评论由一个用户名、11 个类别(每个都是整数值)、总体评分(int 值)、注释(字符串)、图像(URL)和威士忌名称(字符串)组成。