Puedes meter la SQL en un TQuery y parametrizarla:
Código SQL
[-]
INSERT INTO Table1 (Field1,Field2,FieldX) SELECT Field1,Field2,_FieldX FROM Table2
WHERE Table2.AnyField = AnyValue
Tomo como "FieldX" el campo de la tabla1 q no está en la tabla2. Y luego:
Código Delphi
[-]
Query1.Close;
Query1.ParamByName('p_FieldX').AsString := 'valor campo tabla1';
Query1.ExecSQL;
Saludos.