>No, this is an OK way although I would rather use MERGE command instead. Also, if the inner select always returns 2 rows and you want it to return 2 rows, use UNION ALL instead of UNION.
In this case, UNION ALL didn't change anything.
Thanks for the reference for the merge.