一起更新并选择查询以更新来自同一表的表数据

时间:2016-05-24 09:24:11

标签: mysql

我在图像中给出了一个表,其中列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

enter image description here

1 个答案:

答案 0 :(得分:1)

我认为你只需要这个

Update Test 
set conclusion = CASE ans    
                    WHEN 'A' THEN A  
                    WHEN 'B' THEN B  
                    WHEN 'C' THEN C 
                     ELSE D 
                  END