Instead of using VALUES
, use SELECT
:
SELECT E.FieldA, E.FieldB, E.FieldC,
DBParam.Display, DBParam.Value
INTO DBParam
FROM Map_Data E CROSS APPLY
(SELECT Value, Display
FROM (SELECT Field1 as Value, 'Field1' as Display UNION ALL
SELECT Field2, 'Field2' UNION ALL
SELECT Field3, 'Field3' UNION ALL
SELECT Field4, 'Field4'
) vd
WHERE Value is not null
) as DBParam(Value, Display);