我在图像中给出了一个表,其中列a b c d存储在列ans中,我想用ans列值更新表的结论列。我做一个选择查询来获取存储在ans列中的b c或d的值。但是现在我很困惑如何在更新结束时更新该值并一起选择。
select CASE WHEN (SELECT ans FROM `test` q1 WHERE `ans`!='' AND q1.id=q2.id)='A' THEN A ELSE CASE WHEN (SELECT ans FROM `test` q1 WHERE `ans`!='' AND q1.id=q2.id)='B' THEN B ELSE CASE WHEN (SELECT ans FROM `test` q1 WHERE `ans`!='' AND q1.id=q2.id)='C' THEN C ELSE D END END END as data from test q2
答案 0 :(得分:1)
我认为你只需要这个
Update Test
set conclusion = CASE ans
WHEN 'A' THEN A
WHEN 'B' THEN B
WHEN 'C' THEN C
ELSE D
END