• What's up,

    I did not understand completely the trhead , but is this something similar to what you want?. If it is, then we can make it perform you requirements.

    DECLARE @MetaData as table (InputTable varchar(50), Column1 varchar(50), Column2 varchar(50),OutputTable varchar(50))

    INSERT INTO @MetaData

    SELECT 'TableA', 'ColName1', 'NULL', 'TableD' UNION

    SELECT 'TableA', 'ColName2', 'NULL', 'TableE' UNION

    SELECT 'TableA', 'ColName3', 'NULL', 'TableF' UNION

    SELECT 'TableB', 'ColName4', 'ColName1', 'TableG' UNION

    SELECT 'TableB', 'ColName5', 'NULL', 'TableH' UNION

    SELECT 'TableB', 'ColName6', 'NULL', 'TableI'

    DECLARE @SqlCommands AS VARCHAR(MAX)

    SET @SqlCommands = ''

    SELECT @SqlCommands = @SqlCommands + 'INSERT INTO '+OutputTable+' SELECT '+Column1+' FROM '+InputTable+';'+ CHAR(13)+CHAR(10)

    FROM @MetaData

    PRINT @SqlCommands

    --EXEC @SqlCommands