加入具有特定值的列(并替换)

时间:2011-09-27 11:48:46

标签: mysql

考虑一个如下所示的表:

**************************
* Col1 *** Col2 *** Col3 * 
--------------------------
*  0   ***  1   ***  0   *
*  0   ***  0   ***  0   *
*  1   ***  1   ***  0   *
*  1   ***  1   ***  1   *
**************************

我如何加入(例如)最后一行,每个字段包含“1”翻译成什么?

因此对于第一行,它将返回类似:“是”(省略不是“1”的那些)。或者最后一行:“是,是,是”。

2 个答案:

答案 0 :(得分:0)

SELECT IF(Col1=1,'Yes', 'No'), IF(Col2=1,'Yes', 'No'), IF(Col3=1,'Yes', 'No') FROM tbl;

如果您不想要号码,请将'NO'替换为0

回答问题的答案修改:

SELECT CONCAT_WS(',', IF(Col1=1,'Yes',NULL), IF(Col2=1, 'Yes', NULL), IF(Col3=1, 'Yes', NULL) ) as formatedText FROM tbl;

答案 1 :(得分:0)

尝试这样的事情:

SELECT
    REPLACE(TRIM(CONCAT(IF(Col1=1,'Yes ',''), IF(Col2=1,'Yes ',''), IF(Col3=1,'Yes ',''))), ' ', ', ') AS translation
FROM
    oneyes