我有一个带有以下各列的表“ forms”:
id,名称,desc,exporter1,exporter2,exporter3

我的意图是获取那些列的值等于特定值的列名。

考虑“表单”表中的以下行,

1,test1,testdesc,1,0,1

2,test2,testdesc,1,1,1

3,test3,testdesc,0,1,0

因此查询应向我返回值等于“ 1”的列名。

对于第一行,返回值应为-“ exporter1,exporter3”。

对于第二行-“ exporter1,exporter2,exporter3”。

对于第三行-“ exporter2”。

最佳答案

您可以使用所需的所有字段从信息架构生成查询

SELECT
id,
CONCAT_ws (',',
  IF ( exporter1 = 1, 'exporter1',NULL),
  IF ( exporter2 = 1, 'exporter2',NULL),
  IF ( exporter2 = 3, 'exporter3',NULL)
)
FROM forms;

关于mysql - MySQL选择表的column_names具有给定行的特定值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34892979/

10-12 01:57