我想从website.advert
中选择所有记录,并从另一个表中加入玩家名称。该查询本身运行没有任何错误,但是存在一个问题,当播放器表中有多个记录具有相同的website.advert
时,它确实会从account_id
中选择重复的记录。
这是我的查询:
SELECT `advert`.*, `p`.`name`, `p`.`level`
FROM `website`.`advert`
LEFT JOIN `player`.`player` `p`
ON (`p`.`account_id` = `website`.`advert`.`author_id`)
WHERE `advert`.`accepted` = 0
最佳答案
您需要使用DISTINCT
,但我在弄清楚您的查询时遇到了麻烦。您似乎没有从website.advert
中选择任何字段
抱歉,已编辑:
SELECT `advert`.*, `p`.`name`, `p`.`level`
FROM `website`.`advert`
LEFT JOIN `player`.`player` `p`
ON (`p`.`account_id` = `website`.`advert`.`author_id`)
WHERE `advert`.`accepted` = 0
GROUP BY `advert`.`id`
我们现在仅选择
id
字段-试试看,看看是否能使您更接近期望的结果。关于mysql - 查询选择重复记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9193456/