我有一个查询,它根据loc_type
标识wid和loc_numselect LOC_NUM, WID, loc_type from a WHERE ROW_WID IN
(select DISTINCT PLANT_LOC_WID from b) AND loc_type = 'STORAGE_LOC';
现在表b中的wid正在使用loc_type ='STORAGE_LOC'进行更新,但我需要使用loc_type ='PLANT'更新wid以获取该特定的loc_num
Table A below:-
wid loc_num loc_type
884059 038 STORAGE_LOC
881993 038 PLANT
表B
中PLANT_LOC_WID
= 884059的所有记录都需要使用PLANT_LOC_WID
= 881993更新。
tABLE b BELOW: -
WID
884059
884059
884059
需要B更新为
WID
881993
881993
881993
答案 0 :(得分:0)
更新表b 设置PLANT_LOC_WID =(从表格中选择wid,其中loc_type =' PLANT');
答案 1 :(得分:0)
您可以在下方更新您的喜好。你刚刚使查询复杂
UPDATE A SET A.PLANT_LOC_WID =
(SELECT NVL(B.ROW_WID,0) FROM b WHERE a.LOC_NUM = b.LOC_NUM AND b.LOC_TYPE = 'PLANT')
WHERE WID IN (select DISTINCT PLANT_LOC_WID from b) AND loc_type ='STORAGE_LOC'