You need to handle this witrh meta data in SQL side. Create one runid for each ETL execution. Unless all the tasks doesnt completed successfully dont create new runid. And...
INNER JOIN (SELECT CustNo, MAX(SalesPrice) FROM UrTable GROUP BY CustNo, ItemNo) maxSale ON (mauntable.CustNo = maxSale.CustNo AND mauntable.SalesPrice= maxSale.SalesPrice)