使用SQL确定相关表的所有记录是否具有相同的值

时间:2013-04-24 10:41:41

标签: sql stored-procedures plsql

我正在尝试创建一个存储过程,它将根据相关表中的某些值更新一个表上的记录:

MainTable包含一个状态字段,与SubTable相关,SubTable也有一个状态字段。我需要更新MainTable中每条记录的状态,其中SubTable中的所有相关记录具有相同的状态x。我已经尝试了几个查询,但我认为我的方法是错误的。非常感谢任何援助。感谢。

2 个答案:

答案 0 :(得分:0)

试试这个:

Update schema.yourtable s set s.fieldtoupdate = (
Select e.Relationalfield from schema.RealtionalTable  e where e.STATUSFIELD = s.STATUSFIELD);

希望有所帮助

答案 1 :(得分:0)

例如有以下表格:

   Producer ( Code,Name,Status)
   Goods    ( GCode,PCode( Producer Code),Name,Status)

和查询:

Update   Producer  set Status=F  
where not exists (select * from Goods where Status <> X and Goods.PCode= Producer.Code)