You need to associate the subquery with the main query, and you then don't need PurchaseOrders in your subquery. I.e.WHERE EXISTS (SELECT pol.PurchaseOrderNumberPOLineItems AS polWHERE pol.PurchaseOrderNumber = PurchaseOrders.PurchaseOrderNumberGROUP BY pol.PurchaseOrderNumberHAVING SUM(pol.QuantityOutstanding) = 0)
I'd be inclined to convert the subquery to a derived table and inner join:UPDATE poSET po.Completed = '1'FROM PurchaseOrders AS poJOIN (SELECT pol.PurchaseOrderNumberFROM POLineItems AS pol GROUP BY pol.PurchaseOrderNumberHAVING SUM(pol.QuantityOutstanding) = 0) AS polON po.PurchaseOrderNumber = pol.PurchaseOrderNumber
Mark