我正在寻找最好的方法: 我有表ID,network1,network2 .... 30。 列中的值为true或false。 当值为true时,我想获取所有行的网络编号字符串。
像这样:"5,7,8"
当network5和network7和network8中的值为true且其他值为false时。
你能告诉我吗?答案 0 :(得分:2)
您可以尝试将多个IF
与CONCAT()
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