SELECT B.M001,M002,M013,M014,m005,M027,B.*,SN00 AS KEY_1 FROM HZGM_TAB A LEFT JOIN SAJG_TAB B ON A.M001=B.M001 WHERE SN00=:SN1 AND M013=:M13 AND M014 LIKE :M14 AND M002 LIKE :M2 ORDER BY a.m001,M013,M014,M027 可以这样实现的:在onnewrecord和查询时(即查出某一个月的工资)给key_1赋值'new'(FieldByName('key_1').value:='new') 存盘时:.......... IF FIELDBYNAME('KEY_1').VALUE='NEW' THEN UPdatesqlx.Apply(UKINSERT) ELSE IF FIELDBYNAME('KEY_1').VALUE='DEL' THEN UPdatesqlx.Apply(UKDELETE) ELSE UPdatesqlx.Apply(UKMODIFY); next; end; ................................... queryx.database.commit;