Que tal
Según te entendí, para incluir una variable en la sentencia, si estas en una consola de SQL sería así:
Código SQL
[-]
INSERT INTO tabla_destino (campo1, campo2, campo3, campox)
SELECT campo1d, 'valor', campo2d, campo3d FROM tabla_origen WHERE x = y;
Si estas en Delphi
Armas tu sentencia y la ejecutas
Código Delphi
[-]
sSentencia:= 'INSERT INTO tabla_destino (campo1, campo2, campo3, campox) SELECT campo1d, ' + QuotedStr(sVariable) + ', campo2d, campo3d FROM tabla_origen WHERE x = y';
Query.SQL.Clear;
Query.SQL.Add(sSentencia);
Query.ExecSQL;
Los ejemplos anteriores es si el tipo de dato es cadena.
Igual puedes utilizar parámetros
Código Delphi
[-]
Query.SQL.Clear;
Query.SQL.Add('INSERT INTO tabla_destino (campo1, campo2, campo3, campox) SELECT campo1d, :variable, campo2d, campo3d FROM tabla_origen WHERE x = y');
Query.Params[0].AsString:= 'valor';
Query.ExecSQL;
Saludos
Bismarck