日期:2014-05-18  浏览次数:20707 次

求助! 请教SQL语句,不能正确更新

下面是我写的语句,但是update的结果和自己预想的不同。

update TF_BOM
set [PRD_NO]=[PRD_NO]+'R'
where exists(select PRD_NO from TF_BOM where PRD_NO in(select left(PRD_NO,len(PRD_NO) -1) from TF_BOM where right(PRD_NO,1) ='R')



用 where exists后面的查询语句直接查询,有17800条记录,但是加上update后,更新的记录变成10万多条……

是不是我写的逻辑有什么问题,还是update的用法有什么问题

------解决方案--------------------
少了个')'
SQL code

update TF_BOM
set [PRD_NO]=[PRD_NO]+'R' 
where PRD_NO in
(select PRD_NO from TF_BOM where PRD_NO in
(select left(PRD_NO,len(PRD_NO) -1) from TF_BOM where right(PRD_NO,1) ='R'))