Я думаю, что вы получите то, что вам нужно. Сначала сделайте несколько правильных вставок, чтобы кто-нибудь из них мог, по крайней мере, иметь их.Затем Basic отключить и сопоставить.
DECLARE @FIELDTABLE TABLE (COLUMNFILENAME VARCHAR(10))
INSERT INTO @FIELDTABLE (COLUMNFILENAME)
VALUES ( 'f1')
,('f2')
,('f3')
,('f4')
,('f5')
,('f6')
,('f7')
DECLARE @VALUETABLE TABLE (Id INT,f1 varchar(100),f2 varchar(100),f3 varchar(100),f4 varchar(100),f5 varchar(100),f6 varchar(100),f7 varchar(100),comments varchar(100))
INSERT INTO @VALUETABLE (Id, f1, f2, f3, f4,f5,f6,f7,comments)
Values (1, 'Name','Id','Salary','Interest','Offer','value','Salary','')
SELECT F.COLUMNFILENAME
,v.Columns
FROM @FIELDTABLE f
inner join
(
SELECT Columns, Columns2
FROM (
SELECT *
from @VALUETABLE
) cp
UNPIVOT
(
Columns FOR Columns2 in (F1,F2,F3, f4,f5,f6,f7)
) as UP
) v
on f.COLUMNFILENAME = v.Columns2