我需要根据不同字段中的值从数据库中选择其他列。
玩家:
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/