Hi,
your first update was working fine, because your subselect returns exactly one result for each row.
Your other update tries don't work, because your subselect is returning more the one result with Oracle just saying "Hey, and which of this result is the one you want???".
So, it would be...