存储过程小疑点,更新符合条件的表字段内容
存储过程小问题,更新符合条件的表字段内容。
表table1(id1,date),table2(id1,id2,fd2)
当给的条件日期tmpdate在table1能找到时(即select count() from table1 where date=tmpdate不为空记录),则更新table2的fd2字段值为‘aaa’(条件where table1.id1=table2.id1),如果没有找到时,更新为‘bbb’(条件where table1.id1=table2.id1)
怎样写语句,求解!!!
------解决方案--------------------
表table1(id1,date),table2(id1,id2,fd2)
当给的条件日期tmpdate在table1能找到时(即select count() from table1 where date=tmpdate不为空记录),则更新table2的fd2字段值为‘aaa’(条件where table1.id1=table2.id1),如果没有找到时,更新为‘bbb’(条件where table1.id1=table2.id1)
怎样写语句,求解!!!
------解决方案--------------------
- SQL code
update table2 set fd2 = ( select case when table1.id1 is null then 'bbb' else 'aaa' end from table1 where table1.id1 = table2.id1 and table1.date = tmpdate );
------解决方案--------------------
教你个技巧:下次,你不用发那么多个贴,你可以发一个100分的,回答你的人肯定很多
------解决方案--------------------
------解决方案--------------------
不是,就是我写的那样
------解决方案--------------------
上面的都不对:
- SQL code
update table2 set fd2 = 'aaa' where exists( select id1 from table1 where table1.id1 = table2.id1 and table1.date = tmpdate ); update table2 set fd2 = 'bbb' where exists( select id1 from table1 where table1.id1 = table2.id1 and table1.date <> tmpdate );