如何根据另一列中的数据使用某些数据填充该列?(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,您可以在值列中看到它。。。为什么?