两个表:
AA{AASID,AAINT};
BB{BBLSID,BBINT};
还有个一个对照表:
CORP{AALSID,BBLSID}; 这个是对照表 用于对照AA里的aasid 和BB里的bblsid我想update AA 里的AAINT
当AA.AASID = CORP.AALSID(也就是BB.BBLSID)时
将BB.INT 写入相对应的AA.INT中怎么实现?
AA{AASID,AAINT};
BB{BBLSID,BBINT};
还有个一个对照表:
CORP{AALSID,BBLSID}; 这个是对照表 用于对照AA里的aasid 和BB里的bblsid我想update AA 里的AAINT
当AA.AASID = CORP.AALSID(也就是BB.BBLSID)时
将BB.INT 写入相对应的AA.INT中怎么实现?
WHERE EXISTS(SELECT 1 FROM BB WHERE BB.BBLSID=AA.AASID);
COMMIT;
UPDATE AA
SET AA.AAINT = (SELECT MAX(BB.BBINT)
FROM BB, CORP
WHERE CORP.BBLSID = BB.BBLSID
AND CORP.AASID = AA.AASID)
WHERE EXISTS (SELECT 1
FROM BB, CORP
WHERE CORP.BBLSID = BB.BBLSID
AND CORP.AASID = AA.AASID);
SET AAINT=(SELECT BBINT FROM BB WHERE BB.BBLSID=AA.AASID)
WHERE EXISTS(SELECT 1 FROM CORP CC WHERE CC.AASID=AA.AASID AND BB.BBLSID=CC.BBLSID);
COMMIT;
UPDATE AA
SET AAINT =(SELECT BB.INT
FROM BB INNER JOIN CORP ON BB.BBLSID=CORP.BBLSID WHERE BB.BBLSID=AA.AALSID)
那么不等时AA.INT中的值是保留原值, 还是写为NULL?
MEGER INTO 太消耗资源了吧!