Добрый день.
Есть таблица с данными и справочник с описанием значений.
declare @t table( [name] sysname, node sysname, val_id int) -- Таблица с данными
declare @v table( id int, descr nvarchar(50) ); -- Справочник. @t.[val_id] -> @v.[id]
insert into @v
select 1, 'id № 1' union all
select 2, 'id № Два' union all
select 3, 'id = 3'
insert into @t
select 'Name_1', 'N1', 3 union all
select 'Name_1', 'N3', 2 union all
select 'Name_2', 'N2', 2 union all
select 'Name_3', 'N3', 1 union all
select 'Name_3', 'N2', 3 union all
select 'Name_3', 'N1', 2
select [name], [N1],[N2],[N3]
from (
select [name], [node], val_id
from @t
) as t
pivot(
min(val_id) for [node] in ([N1],[N2],[N3])
) as pv
--------- Результат
name N1 N2 N3
--------- ----------- ----------- -----------
Name_1 3 NULL 2
Name_2 NULL 2 NULL
Name_3 2 3 1
---------
Нужно заменить [val_id] для полей [N1] [N2] [N3] на соответствующий @v.[descr].
Как сие осуществить ?