MySQL:选择列名称,其中value = something

时间:2015-04-04 12:55:41

标签: mysql

0 CikAlal的重力级 刚才 CikAlal•50 马来西亚

您好,

我有这张桌子' main'

id name courseA courseB courseC
1 Anna yes no yes
2 Mary no yes yes
3 John yes no no
4 Robb yes yes yes

所以,如果搜索符合我的要求,我想获取列名。 示例:获取Anna加入的那些课程的列名。

因此,它将获得name=Anna AND 'column name'=yes

的列名称的结果

预期结果:

courseA courseC

任何?

1 个答案:

答案 0 :(得分:1)

如果您无法更改数据库架构或您需要的输出,那么这样的内容可能就是您想要的:

SELECT CONCAT(
    IF courseA='yes' THEN 'courseA ' ELSE '' END IF,
    IF courseB='yes' THEN 'courseB ' ELSE '' END IF,
    IF courseC='yes' THEN 'courseC ' ELSE '' END IF)
FROM table
WHERE name='Anna'