如何选择匹配值的字段名称

时间:2014-12-19 11:50:35

标签: php mysql

table with fields

这里给出的图像是我的表格。是否可以选择值为false且id = 2的字段。就像我传递id = 2时它应该返回字段名称sun。

2 个答案:

答案 0 :(得分:3)

您可以使用case语句和concat_ws()

select id,
       concat_ws(',',
                 (case when sun = 'false' then 'sun' end),
                 (case when mon = 'false' then 'mon' end),
                 (case when tue = 'false' then 'tue' end),
                 (case when wed = 'false' then 'wed' end),
                 (case when thu = 'false' then 'thu' end),
                 (case when fri = 'false' then 'fri' end),
                 (case when sat = 'false' then 'sat' end)
                )
from table t
where id = 2;

答案 1 :(得分:0)

尝试类似:

SELECT CASE WHEN sun = 'false' then 'sun' END
            WHEN mon = 'false' then 'mon' END
            WHEN tue = 'false' then 'tue' END
            WHEN wed = 'false' then 'wed' END
            WHEN thu = 'false' then 'thu' END
            WHEN fri = 'false' then 'fri' END
            WHEN sat = 'false' then 'sat' END
        END AS MyColumn
FROM MyTable
WHERE id = 2