CREATE CURSOR APTRXFIL (VOUCHER_NO I,INV_AMT Y) INSERT INTO APTRXFIL VALUES (76171 ,606.20) INSERT INTO APTRXFIL VALUES (76172 ,301.87) INSERT INTO APTRXFIL VALUES (76173 ,667.75) INSERT INTO APTRXFIL VALUES (77093 ,706.14) CREATE CURSOR APTRXDST (VOUCHER_NO I,DST_AMT Y) INSERT INTO APTRXDST VALUES (76171 ,303.10) INSERT INTO APTRXDST VALUES (76171 ,303.10) INSERT INTO APTRXDST VALUES (76172 ,200.00) INSERT INTO APTRXDST VALUES (76172 ,301.87) INSERT INTO APTRXDST VALUES (76173 ,675.50) INSERT INTO APTRXDST VALUES (77093 ,706.14) SELECT ; APTRXFIL.VOUCHER_NO, ; APTRXFIL.INV_AMT, ; SUM(APTRXDST.DST_AMT) AS SUM_DST_AMT ; FROM ; APTRXFIL, ; APTRXDST ; WHERE ; APTRXFIL.VOUCHER_NO = APTRXDST.VOUCHER_NO ; GROUP BY ; APTRXFIL.VOUCHER_NO, ; APTRXFIL.INV_AMT ; HAVING APTRXFIL.INV_AMT <> SUM_DST_AMT ; INTO CURSOR tmpAPTransactions BROWSEIf you want preserve the name, then you must reuse the SUM() on HAVING
SELECT ; APTRXFIL.VOUCHER_NO, ; APTRXFIL.INV_AMT, ; SUM(APTRXDST.DST_AMT) AS DST_AMT ; FROM ; APTRXFIL, ; APTRXDST ; WHERE ; APTRXFIL.VOUCHER_NO = APTRXDST.VOUCHER_NO ; GROUP BY ; APTRXFIL.VOUCHER_NO, ; APTRXFIL.INV_AMT ; HAVING APTRXFIL.INV_AMT <> SUM(APTRXDST.DST_AMT) ; INTO CURSOR tmpAPTransactionsnext is ambiguous:
SELECT ; APTRXFIL.VOUCHER_NO, ; APTRXFIL.INV_AMT, ; SUM(APTRXDST.DST_AMT) AS DST_AMT ; FROM ; APTRXFIL, ; APTRXDST ; WHERE ; APTRXFIL.VOUCHER_NO = APTRXDST.VOUCHER_NO ; GROUP BY ; APTRXFIL.VOUCHER_NO, ; APTRXFIL.INV_AMT ; HAVING APTRXFIL.INV_AMT <> DST_AMT ; && VFP use APTRXDST.DST_AMT INTO CURSOR tmpAPTransactionsFabio