SQL数据库update问题
SQL数据库update问题将从表中的某一列更新到主表的指定字段中,需要根据从表行数判断更新几列
你的意思是根据num的不同修改不同的列(只修改一列),还是多列,如果num=2就修改两列,那也就是说num最大为3,因为你上面的表中只有三个id列。
个人觉得你可以直接写成修改三个字段,只是在写后两个字段也就是id2和id3的时候用case when来判断一下,如果“某字段”大于等于2,那么就修改第二个,否则就是null(其实就是null改为null,也就是没有变化),第三个也是差不多,只是条件换一下改为等于3,否则就是null,这样虽然麻烦了一些,但是应该可以实现你的要求。
不过这个语句要大量的测试(毕竟这个语句需要好好调试才行),我这里既没有时间也没有环境,所以具体能不能实现,要你自己去尝试才行。
当然了,要是写成过程脚本那就更简单一些。先判断,然后执行不同的update语句就可以了。
相关内容