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