所以我很累,但为什么DISTINCT不在这里工作:
SELECT DISTINCT Review.user_id, Review.id, User.*, Account.*
FROM reviews As Review
INNER JOIN users AS User ON Review.user_id = User.id
LEFT JOIN accounts AS Account ON User.id = Account.user_id
答案 0 :(得分:5)
由于Unique仅适用于完全相同的结果。但是在这里你也包括ID
,这对于每一行都是唯一的,使每条记录都是唯一的。所以结果显示了所有记录。
答案 1 :(得分:1)
如果您只想要唯一的user_id,请尝试使用GROUP'ing。但这将截断结果中所有其他连接的记录。因此,您最好考虑使用user_id选择什么,以及不选择什么。
SELECT DISTINCT Review.user_id, Review.id, User.*, Account.*
FROM reviews As Review
INNER JOIN users AS User ON Review.user_id = User.id
LEFT JOIN accounts AS Account ON User.id = Account.user_id
GROUP BY Review.user_id