update TRD_HIST set RATIO=(select MAX(MON.RATIO) FROM BAS_F MON,BAS_O SEL WHERE MON.STATUS = 'N' AND SEL.STATUS = 'N' AND SEL.ID = MON.ID and MON.ID=TRD_HIST.ID) WHERE EXISTS(select 1 FROM BAS_F MON,BAS_O SEL WHERE MON.STATUS = 'N' AND SEL.STATUS = 'N' AND SEL.ID = MON.ID and MON.ID=TRD_HIST.ID)
加min的作用是为了防止子查询返回多条记录 UPDATE TRD_HIST T SET T.RATIO = (SELECT MIN(MON.RATIO) FROM BAS_F MON, BAS_O SEL WHERE MON.STATUS = 'N' AND SEL.STATUS = 'N' AND SEL.ID = MON.ID AND T.ID = MON.ID);
加min的作用是为了防止子查询返回多条记录 UPDATE TRD_HIST T SET T.RATIO = (SELECT MIN(MON.RATIO) FROM BAS_F MON, BAS_O SEL WHERE MON.STATUS = 'N' AND SEL.STATUS = 'N' AND SEL.ID = MON.ID AND T.ID = MON.ID);谢谢,min和max的作用一样吧?
update TRD_HIST set RATIO=(select MAX(MON.RATIO)
FROM BAS_F MON,BAS_O SEL
WHERE MON.STATUS = 'N'
AND SEL.STATUS = 'N'
AND SEL.ID = MON.ID
and MON.ID=TRD_HIST.ID)
WHERE EXISTS(select 1
FROM BAS_F MON,BAS_O SEL
WHERE MON.STATUS = 'N'
AND SEL.STATUS = 'N'
AND SEL.ID = MON.ID
and MON.ID=TRD_HIST.ID)
加min的作用是为了防止子查询返回多条记录
UPDATE TRD_HIST T
SET T.RATIO =
(SELECT MIN(MON.RATIO)
FROM BAS_F MON, BAS_O SEL
WHERE MON.STATUS = 'N'
AND SEL.STATUS = 'N'
AND SEL.ID = MON.ID
AND T.ID = MON.ID);
加min的作用是为了防止子查询返回多条记录
UPDATE TRD_HIST T
SET T.RATIO =
(SELECT MIN(MON.RATIO)
FROM BAS_F MON, BAS_O SEL
WHERE MON.STATUS = 'N'
AND SEL.STATUS = 'N'
AND SEL.ID = MON.ID
AND T.ID = MON.ID);谢谢,min和max的作用一样吧?
如果你的数据是一一对应的话,max和min没啥差别,这么写主要是怕存在1对多的情况会报错