SQL - SELECT任何列具有特定值的行

时间:2017-10-07 18:22:51

标签: mysql sql

我需要创建一个SELECT查询,该查询将返回至少有一列X列具有特定值的行。

id    name    teamid     player1    player2    player3    ...    player12

1     Jane    2          43         46         12         ...    36
2     Mathew  6          12         56         18         ...    42
3     Shaun   8          53         55         12         ...    62
4     Jane    1          1          53         19         ...    34
5     Eugene  3          23         34         13         ...    44

在此表中,我有14列(id,name和player1到player12),想要SELECT特定teamid行,让我们说teamid='2',然后返回此行中包含例如数字12的列的名称。

这对MySQL来说是否可能?

1 个答案:

答案 0 :(得分:0)

如果我理解,那么:

select t.*,
       (case when player1 = 12 then 'player1'
             when player2 = 12 then 'player2'
             . . .
             when player12 = 12 then 'player12'
        end) player_with_12
from t
where t.teamid = 2;

您可能想要重新访问数据结构,因此每teamplayer有一行。