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變體。 –