SELECT invitems.invnum,invitems.sequence,invitems.item_id,; items.source,items.sourcenum as conum,cohead.commcalcby ; FROM mydatabase!invitems ; LEFT OUTER JOIN mydatabase!items ; LEFT OUTER JOIN mydatabase!cohead ; ON items.sourcenum==cohead.conum ; ON invitems.item_id=items.item_id ; WHERE invitems.invnum=lnInvnum AND items.source="C" AND items.cb_id=0 ; GROUP BY items.sourcenum ; INTO CURSOR c_invoice_calculatecommissionAnd switched to this inner join results in huge speed improvement when in multiuser mode:
SELECT invitems.invnum,invitems.sequence,invitems.item_id,; items.source,items.sourcenum as conum,cohead.commcalcby ; FROM mydatabase!invitems ; INNER JOIN mydatabase!items ; LEFT OUTER JOIN mydatabase!cohead ; ON items.sourcenum==cohead.conum ; ON invitems.item_id=items.item_id ; WHERE invitems.invnum=lnInvnum AND items.source="C" AND items.cb_id=0 ; GROUP BY items.sourcenum ; INTO CURSOR c_invoice_calculatecommissionJust a heads up that I also use SET ENGINEBEHAVIOR 70 because of some ways that I use SQL-Select grouping.