感觉有点绕
我理解的楼主的意思是这样
不知道对不对
如果table1中不存在col2这条记录
则删除table2中对应的记录
delete from table2
where ouid2=
(select ouid2 from table1 where col2 is null)
按你说的好像用到动态SQL会是最简洁的写法,可惜我不太熟,给你个笨点的办法——直接用not exists,删除语句如下:
delete table2 where not exists(select 1 from table1 where col1 = 'table2' and col1 = table2.ouid2)
这会把table2中所有ouid2字段值在TABLE1中找不到对应col1的记录全部删除。
如果有多个表要处理的话,比如还有TABLE3、TABLE4什么的,就多写几次这个语句,把TABLE2换成别的表了,呵呵。
如果数据中col1中对应的表中如果不存在col2这条记录是col2 is null的意思吗?