update gy_ylsf a set a.fygb = (select min(sfxm) from gy_sfxm where a.bh = pydm); 这样写试试!
oracle中没有这种语法 --方法1 UPDATE gy_ylsf a SET a.fygb = (SELECT b.sfxm FROM gy_sfxm b WHERE b.pydm = a.bh) WHERE EXISTS (SELECT 1 FROM gy_sfxm b WHERE b.pydm = a.bh);
--方法2 MERGE INTO gy_ylsf a USING gy_sfxm b ON (b.pydm = a.bh) WHEN MATCHED THEN UPDATE SET a.fygb = b.sfxm;--方法3 UPDATE (SELECT /*+bypass_ujvc*/ a.fygb a_fygb, b.sfxm b_sfxm FROM gy_ylsf a, gy_sfxm b WHERE b.pydm = a.bh) SET a_fygb = b_sfxm;
update gy_ylsf a set a.fygb = (select min(sfxm) from gy_sfxm where a.bh = pydm);
这样写试试!
--方法1
UPDATE gy_ylsf a
SET a.fygb =
(SELECT b.sfxm FROM gy_sfxm b WHERE b.pydm = a.bh)
WHERE EXISTS (SELECT 1 FROM gy_sfxm b WHERE b.pydm = a.bh);
--方法2
MERGE INTO gy_ylsf a
USING gy_sfxm b
ON (b.pydm = a.bh)
WHEN MATCHED THEN
UPDATE SET a.fygb = b.sfxm;--方法3
UPDATE (SELECT /*+bypass_ujvc*/
a.fygb a_fygb, b.sfxm b_sfxm
FROM gy_ylsf a, gy_sfxm b
WHERE b.pydm = a.bh)
SET a_fygb = b_sfxm;