A ver ...
si mal no recuerdo para hacer un insert dependiendo de un query la sintaxis es :
Cita: INSERT INTO Tabla SELECT Campos FROM .... etc etc
No defines los campos en el Insert, sino que
se supone que el select debe tener la estructura de la tabla a la que se insertaran los registros, esto es muy rápido si, pero deja rígida la estructura, haciendo que si se agregan o quitan campos, hay que modificar el código fuente.