Mysql 选择DISTINCT返回重复的值

Mysql 选择DISTINCT返回重复的值,mysql,sql,Mysql,Sql,我有3张表球员位置球员(国家) 我需要为players\u national选择不同的位置,其中player\u position与players表关联 我的桌子是这样的: Players Table ----------------------------------------------------------------------- | player_id player_name player_team player_position | -----

我有3张表
球员
位置
球员(国家)

我需要为
players\u national
选择不同的
位置,其中player\u position与
players
表关联

我的桌子是这样的:

Players Table
-----------------------------------------------------------------------
| player_id         player_name     player_team     player_position   |
-----------------------------------------------------------------------
    1               KAKA                12              1
    2               Ronaldo             7               2
    3               Adriano             10              2



Positions Table
-------------------------------------------------------
| position_id         position_name                   |
-------------------------------------------------------
     1                  Midfield            
     2                  Forward         



Players_national Table
-------------------------------------------------------------------
| player_id             player_team         player_national_team  |
-------------------------------------------------------------------
     1                       12                         4
     2                       7                          4
     3                       19                         4

My Dream output is this
---------------------------------------------------
| player_national_team          position          |
---------------------------------------------------
          4                         1                           
          4                         2                           
我的问题是这样的:

SELECT DISTINCT players. * , positions. * , players_national. * 
FROM players
LEFT JOIN positions ON positions.position_id = players.player_position
LEFT JOIN players_national ON players_national.player_id = players.player_id
WHERE players_national.player_id = players.player_id AND players_national.player_national_team = 4

如果从每个表中选择所有内容,则每一行都将是不同的;您需要将
SELECT
子句限制为只包含要区分的字段

SELECT DISTINCT positions.position_id, players_national.player_national_team
FROM            players
                LEFT JOIN positions ON positions.position_id = players.player_position
                LEFT JOIN players_national ON players_national.player_id = players.player_id
WHERE           players_national.player_id = players.player_id AND players_national.player_national_team = 4

桌上球员的独特位置,在哪里加入桌上球员

SELECT 
  DISTINCT(players.player_position),
  players_national.player_national_team
FROM players INNER JOIN players_national;
结果:
嗯,这是不同的行,不是所有的都不同。我现在有3行在我的输出中,我不能让它变成2行!!!
+-----------------+----------------------+
| player_position | player_national_team |
+-----------------+----------------------+
|               1 |                    4 |
|               2 |                    4 |
+-----------------+----------------------+
2 rows in set