SELECT P.partno, SUM(U.qUsed) totUse, SUM(R.qReceived) totRec FROM parts P LEFT JOIN partsUses U; ON U.dateUsed BEETWEN m.dateInit AND m.dateEnd AND U.partNo=P.partNo; LEFT JOIN partsReceived R; ON R.dateReceived BEETWEN m.dateInit AND m.dateEnd AND R.partNo=P.partNo; GROUP BY 1; && result are in order INTO CURSOR resultIf you want remove parts not moved:
SELECT P.partno, SUM(U.qUsed) totUse, SUM(R.qReceived) totRec FROM parts P JOIN partsUses U; ON U.dateUsed BEETWEN m.dateInit AND m.dateEnd AND U.partNo=P.partNo; JOIN partsReceived R; ON R.dateReceived BEETWEN m.dateInit AND m.dateEnd AND R.partNo=P.partNo; GROUP BY 1; && result are in order INTO CURSOR resultAttention: No put DATE() on SELECT command !