0
对不起,如果问题很基本,我正在学习MySQL。MySQL - 在满足条件的情况下将文本或文本添加到行中
比方说,我有一个表是这样的:
+---+---+-----+
|A |B |Con |
+---+---+-----+
|3 |3 | |
|2 |3 | |
|3 |2 | |
|2 |2 | |
+---+---+-----+
我想基于一个条件,说如果列小于3.不要写每一个条件添加列名更新Con
列,我想添加一个文本到列与concat
功能,如果满足条件:
update table
set Con =
case
when A < 3
then concat(' A ')
when B < 3
then concat(' B ')
end
所以,我想是这样的:
+---+---+-----+
|A |B |Con |
+---+---+-----+
|3 |3 | |
|2 |3 |A |
|3 |2 |B |
|2 |2 |A B |
+---+---+-----+
但是,这当然不起作用,因为case
函数被调用一次并且只返回一个值。如果条件满足两列,我该如何更改此代码以返回所有列(第三行)?谢谢。
似乎是[FizzBuzz问题](http://en.wikipedia.org/wiki/Fizz_buzz#Other_uses)的SQL变体。 –