oracle数据库批量更新某个字段的值where条件是个集合
2018-03-27 09:22
176 查看
问题描述:
需要根据人员ID批量更新满足条件的字段信息
一、查询满足条件的数据信息数量
/**
左关联
查询入库上架后没有清除
调往单位未清空的信息数量
*/
SELECT count(*) FROM RECORD r
left JOIN PERSON p ON r.PERSON_ID=p.PERSON_ID
where 1=1 AND p.MOVE_CORP is NOT NULL AND r.RECORD_PLACE is not null
and r.RECORD_STATE = 1
二、查询满足条件数据信息
/**
左关联
查询入库上架后没有清除
调往单位未清空的信息
*/
SELECT r.* ,p.NAME ,p.IDCARD ,p.move_corp FROM RECORD r
left JOIN PERSON p ON r.PERSON_ID=p.PERSON_ID
where 1=1 AND p.MOVE_CORP is NOT NULL AND r.RECORD_PLACE is not null
and r.RECORD_STATE = 1
三 、查询相应清理的数据ID
/**
左关联
查询入库上架后没有清除
调往单位未清空的信息的人员ID
*/
SELECT p.PERSON_ID FROM RECORD r
left JOIN PERSON p ON r.PERSON_ID=p.PERSON_ID
where 1=1 AND p.MOVE_CORP is NOT NULL AND r.RECORD_PLACE is not null
and r.RECORD_STATE = 1
四 、更新特定字段
/**
根据查询出来的人员ID
更新相应字段的值
用IN
*/
UPDATE PERSON set MOVE_CORP=NULL WHERE PERSON_ID IN(SELECT p.PERSON_ID FROM RECORD r
left JOIN PERSON p ON r.PERSON_ID=p.PERSON_ID
where 1=1 AND p.MOVE_CORP is NOT NULL AND r.RECORD_PLACE is not null
and r.RECORD_STATE = 1 )
/**
根据查询出来的人员ID
查询相应人员信息
*/
select * from PERSON WHERE PERSON_ID
IN(SELECT p.PERSON_ID FROM RECORD r
left JOIN PERSON p ON r.PERSON_ID=p.PERSON_ID
where 1=1 AND p.MOVE_CORP is NOT NULL AND r.RECORD_PLACE is not null
and r.RECORD_STATE = 1 )
/**
查询特定人员信息
*/
select * from PERSON WHERE PERSON_ID =60252
需要根据人员ID批量更新满足条件的字段信息
一、查询满足条件的数据信息数量
/**
左关联
查询入库上架后没有清除
调往单位未清空的信息数量
*/
SELECT count(*) FROM RECORD r
left JOIN PERSON p ON r.PERSON_ID=p.PERSON_ID
where 1=1 AND p.MOVE_CORP is NOT NULL AND r.RECORD_PLACE is not null
and r.RECORD_STATE = 1
二、查询满足条件数据信息
/**
左关联
查询入库上架后没有清除
调往单位未清空的信息
*/
SELECT r.* ,p.NAME ,p.IDCARD ,p.move_corp FROM RECORD r
left JOIN PERSON p ON r.PERSON_ID=p.PERSON_ID
where 1=1 AND p.MOVE_CORP is NOT NULL AND r.RECORD_PLACE is not null
and r.RECORD_STATE = 1
三 、查询相应清理的数据ID
/**
左关联
查询入库上架后没有清除
调往单位未清空的信息的人员ID
*/
SELECT p.PERSON_ID FROM RECORD r
left JOIN PERSON p ON r.PERSON_ID=p.PERSON_ID
where 1=1 AND p.MOVE_CORP is NOT NULL AND r.RECORD_PLACE is not null
and r.RECORD_STATE = 1
四 、更新特定字段
/**
根据查询出来的人员ID
更新相应字段的值
用IN
*/
UPDATE PERSON set MOVE_CORP=NULL WHERE PERSON_ID IN(SELECT p.PERSON_ID FROM RECORD r
left JOIN PERSON p ON r.PERSON_ID=p.PERSON_ID
where 1=1 AND p.MOVE_CORP is NOT NULL AND r.RECORD_PLACE is not null
and r.RECORD_STATE = 1 )
/**
根据查询出来的人员ID
查询相应人员信息
*/
select * from PERSON WHERE PERSON_ID
IN(SELECT p.PERSON_ID FROM RECORD r
left JOIN PERSON p ON r.PERSON_ID=p.PERSON_ID
where 1=1 AND p.MOVE_CORP is NOT NULL AND r.RECORD_PLACE is not null
and r.RECORD_STATE = 1 )
/**
查询特定人员信息
*/
select * from PERSON WHERE PERSON_ID =60252
相关文章推荐
- 将一张表的字段根据条件更新到另一张表的一个字段中去
- SQL根据条件批量update更新字段案例
- 根据条件更新字段
- 单表 单字段多条件更新
- 更新T1表,要添加一个条件A,但T1表没有A字段
- SQL两表匹配,将A表的指定字段所有内容根据条件更新B表指定字段的所有内容
- Silverlight:双向绑定综合应用-自动更新集合汇总字段
- mybatis 多字段、多表批量更新,判断条件也批量改变
- sql语句的构造,当where后的条件个数不定,当update set后的更新字段数不定
- 同一字段根据不同条件更新的sql语句的写法
- JSONArray 字段数据 按条件 更新
- sqlserver中用不重复的条件更新两个表对应字段字段。
- oracle sql通过判断条件更新数据库某个字段的值内容
- 查询一张表内某字段不用条件的排序集合
- 两个表字段之间的批量更新实现的是将a表中的a1 更换成b表中的b2,条件是a1 = b1,并且a1和b1都是唯一的。
- update语句根据条件更新某字段的值
- MongoDB中关于查询条件中包含集合中字段的查询
- Silverlight:双向绑定综合应用-自动更新集合汇总字段
- 根据条件用一个表的字段,去更新另一个表的字段
- mysql多条件多字段更新