1
我正在寻找最佳的方法来做到这一点: 我有列ID,网络1,网络2 .... 30的表。 列中的值为true或false。 当值为true时,我想获取所有行的网络号码字符串。将多列添加到一个字符串
这样的:
"5,7,8"
当network5和network7和network8值是真,其他都是假的。
可以请您指教吗?
我正在寻找最佳的方法来做到这一点: 我有列ID,网络1,网络2 .... 30的表。 列中的值为true或false。 当值为true时,我想获取所有行的网络号码字符串。将多列添加到一个字符串
这样的:
"5,7,8"
当network5和network7和network8值是真,其他都是假的。
可以请您指教吗?
您可以尝试使用多种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
结合你有没有考虑使用MySQL的['SET'(http://dev.mysql.com/doc/en/set.html)数据类型呢? – eggyal
或者是一个标准化(商店ID - 网络对在他们自己的记录中) – Shadow