You do not need this, you can just do the select right after the insert, making it the value, below an example:
INSERT INTO table2
SELECT * FROM table1
WHERE condition;
Just have them have the same case arguments, you can not choose any of the two, like this:
INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;
So the insert will be done automatically.
EDIT
If you want to use just one of the fields, simply put the other values manually like this:
INSERT INTO table2 (column1, column2, column3, ...)
SELECT 'Valor manual varchar', 5, column3, ...
FROM table1
WHERE condition;
In this way only the column three will be pulled out of the query and the rest will be replayed the inserted text.