我想从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
答案 0 :(得分:2)
您需要使用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
字段 - 尝试一下,看看它是否能让您更接近您期望的结果。
答案 1 :(得分:1)
尝试此查询:
SELECT a.*, p.name, p.level
FROM advert a LEFT JOIN player p
ON (p.account_id = a.author_id)
WHERE a.accepted = 0
group by p.account_id