postgresql: update using subquery