As you have described Input and output values
it is clear that you want v2 and v3 columns as row in resultant table
to get same output described in your question,
use query given below
select row_number() over(partition by id,v1 order by id,v1) as id,v1,v2 from
(
select id,v1,v2 from table
union all
select id,v1,v3 as v2 from table
) as a
order by id,v1
Happy Coding!
:)