Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.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/fsharp/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)_Mysql_Sql - Fatal编程技术网

如何根据另一列中的数据使用某些数据填充该列?(MySQL)

如何根据另一列中的数据使用某些数据填充该列?(MySQL),mysql,sql,Mysql,Sql,我有这样的表格: ID|value 0|1 1|0 2|1 我想执行SELECT查询,返回以下信息: ID|value|isOne 0|1|+ 1|0|- 2|1|+ 如果值内容为1,则isOne为“+” 如果值内容为0,则isOne为“-” 我考虑过嵌套查询或“if-else”构造,但我不确定这是否是一个好的解决方案。您可以使用case表达式: select t.*, (case when value = 1 then '+' else '-' end) as flag from

我有这样的表格:

ID|value
0|1
1|0
2|1
我想执行SELECT查询,返回以下信息:

ID|value|isOne
0|1|+ 
1|0|- 
2|1|+
  • 如果值内容为1,则isOne为“+”
  • 如果值内容为0,则isOne为“-”

我考虑过嵌套查询或“if-else”构造,但我不确定这是否是一个好的解决方案。

您可以使用
case
表达式:

select t.*, (case when value = 1 then '+' else '-' end) as flag
from t;
不过,更常见的情况是,您只需使用
0
/
1
标志。但这似乎是您开始的地方。

您可以使用
IF()
函数:

SELECT ID, value, IF(value, "+", "-") AS isOne FROM table_name 

阅读本文了解更多信息:

如果表达式较短,也可以使用

SELECT `id`, `value`, IF(`value` = 1, '+', '-') AS `sign` FROM `your_table`

任务应该是什么?您不需要另一列isOne,您可以在值列中看到它。。。为什么?