Dê uma
union um tiro. select ID, 'Value1' as Name, Value1 as Value from table_name union all
select ID, 'Value2', Value2 as Value from table_name union all
select ID, 'Value3', Value3 as Value from table_name
order by ID, Name
usando
union all significa que o servidor não executará um distinct (que está implícito em union operações). Não deve fazer nenhuma diferença com os dados (já que ESPERO que seus IDs sejam diferentes), mas pode acelerar um pouco.