简体   繁体   English

查询选择重复的记录

[英]Query selects duplicated records

I want to select all records from website.advert and join player name from different table also. 我想从website.advert选择所有记录,并从另一个表中加入玩家名称。 The query runs itself without any errors, but there is a problem that it does select duplicated records from website.advert when there is more than one record with the same account_id in the player table. 该查询本身运行没有任何错误,但是存在一个问题, 播放器表中有多个具有相同account_id记录 ,它确实会从website.advert选择重复的记录。

Here is my query: 这是我的查询:

  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

You need to use DISTINCT but I am having trouble figuring out your query. 您需要使用DISTINCT但是我在弄清楚您的查询时遇到了麻烦。 You don't seem to be selecting any fields from website.advert 您似乎没有从website.advert选择任何字段

Sorry, edited: 抱歉,已编辑:

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`

We are JUST selecting the id field for now - try that and see if it gives you closer to the results you are expecting. 我们现在仅选择id字段-尝试一下,看看它是否使您更接近期望的结果。

Try this query: 试试这个查询:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM