我需要做一个更新查询,我根据计数查询的结果设置一个值。如果计数没有返回结果,我想将状态设置为1,否则我想将状态设置为2.
这是我的尝试不起作用:
UPDATE TABLE_1 SET status = ((select count(1) from TABLE_2) > 0 ? 1 : 2)
另外,我在mybatis xml文件中执行此操作,因此如果有一些魔法,我可以在mybatis中执行,也可以。
答案 0 :(得分:2)
希望DECODE帮助你!但状态中的所有行都更新了相同的值..你想要那样吗?
UPDATE TABLE_1 SET status = (select DECODE(count(1),0,2,1) from TABLE_2);