将多个列附加到一个字符串

时间:2016-06-07 10:12:22

标签: mysql sql

我正在寻找最好的方法: 我有表ID,network1,network2 .... 30。 列中的值为true或false。 当值为true时,我想获取所有行的网络编号字符串。

像这样:

"5,7,8"

当network5和network7和network8中的值为true且其他值为false时。

你能告诉我吗?

1 个答案:

答案 0 :(得分:2)

您可以尝试将多个IFCONCAT()

结合使用
SELECT t.id,
       concat(IF(t.network1 = 'TRUE','1,',''),
              IF(t.network2 = 'TRUE','2,',''),
              IF(t.network3 = 'TRUE','3,',''),
              IF(t.network4 = 'TRUE','4,',''),
              .....
FROM YourTable t