Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 连接布尔变量的SQL函数_Mysql_Sql_Boolean_Concatenation - Fatal编程技术网

Mysql 连接布尔变量的SQL函数

Mysql 连接布尔变量的SQL函数,mysql,sql,boolean,concatenation,Mysql,Sql,Boolean,Concatenation,我需要创建一个由3个布尔变量串联而成的列: 开胃菜字符(1)不为空:是/否 主字符(1)不为空:是/否 甜点字符(1)不为空:是/否 这样,如果指示Y,则值将显示在单个单元格中 例如,如果主甜点和甜点都显示为Y,则应在单元格中显示为“主甜点”: 我见过类似的解决方案,例如,但答案返回重复的行,不幸的是,我的案例不允许重复 谢谢大家! SELECT CONCAT(IF(Appetizer='Y', 'Appetizer ', ''), CONCAT(IF(Main=

我需要创建一个由3个布尔变量串联而成的列:

  • 开胃菜字符(1)不为空:是/否
  • 主字符(1)不为空:是/否
  • 甜点字符(1)不为空:是/否
这样,如果指示Y,则值将显示在单个单元格中

例如,如果主甜点和甜点都显示为Y,则应在单元格中显示为“主甜点”:

我见过类似的解决方案,例如,但答案返回重复的行,不幸的是,我的案例不允许重复

谢谢大家!

SELECT CONCAT(IF(Appetizer='Y', 'Appetizer ', ''),
              CONCAT(IF(Main='Y', 'Main ', ''), IF(Dessert='Y', 'Dessert ', ''))) FROM ...

这将为您的专栏提供文本。您可能需要对其进行修剪。

请提供示例数据和所需结果。还要解释为什么
concat()
不起作用。此外,您提到的问题是针对SQL Server的,而接受的答案在MySQL中语法不正确。非常感谢!也非常感谢你的帮助!
SELECT CONCAT_WS(' ',
                  CASE WHEN Appetizer='Y' THEN 'Appetizer' END,
                  CASE WHEN Main='Y' THEN 'Main' END,
                  CASE WHEN Dessert='Y' THEN 'Dessert' END) FROM ...