SELECT d.ID, reasons.reason, d.[user]
FROM #data d
CROSS APPLY ( VALUES(1,r1), (2,r2), (3,r3), (4,r4), (5,r5) ) AS reasons(reason#, reason)
ORDER BY d.ID, reasons.reason#
if object_id('tempdb..#temp') is not null drop table #temp
select *
into #temp
from (
select 1 as 'Id',4 as 'r1', 5 as 'r2',6 as 'r3',8 as 'r4',7 as 'r5','John' as 'user'
)Main
select * from #temp
unpivot( [Value] for [Columns] in ([r1],[r2],[r3],[r4],[r5]))unpvt