Lo que quieres se llama UNPIVOT
y hecho así:
select id,field,value from
#document_fields
unpivot
(
value
for field in (x,y,z)
) as u
order by id,field
Lo que quieres se llama UNPIVOT
y hecho así:
select id,field,value from
#document_fields
unpivot
(
value
for field in (x,y,z)
) as u
order by id,field