我需要根据不同字段中的值从数据库中选择其他列。

玩家:

ID     EVENT_ID     NAME   TEAM
--------------------------------
1         1         Ann      1
2         1         Bob      2
3         2         Claire   1


大事记:

ID     EVENT_NAME     TEAM_1       TEAM_2
----------------------------------------------
1      Football       All Stars    Tornadoes
2      Tennis         Dynamos      Best Team


根据我的表格,我希望能够搜索玩家ID 2并根据players.team值获取他们的球队名称。
所以像这样:

SELECT players.*,
(SELECT team+"players.team" AS team_name FROM events WHERE players.event_id = events.id)
WHERE players.id = '2'


得到结果:

Player.ID:   1
Player.Name: Bob
Team_Name:   Tornadoes

最佳答案

您可以使用CASE

    SELECT p.id, p.name,
           CASE WHEN p.team = 1 THEN e.team_1 ELSE e.team_2 END AS Team_Name
      FROM Players p
 LEFT JOIN Events e
        ON e.id = p.event_id
     WHERE p.id = 2

关于mysql - 根据MYSQL中的字段值选择列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17407010/

10-09 16:45
查看更多