Creo que se puede hacer mas o menos como tu has dicho:
Código SQL
[-]
INSERT INTO MiTabla SELECT Campo1,Campo2,Campo3 FROM OtraTabla WHERE MiCampo='X'
Creo que algo asi funcionaría, sin poner "Values".
Además de esa versión, en caso de que la tabla no este creada, también tienes otra manera de hacerlo (que al menos funciona con bases de datos oracle, no se si con el resto también).
Código SQL
[-]
SELECT * FROM MiTabla AS NuevaTabla
Eso lo que haría sería crearte una tabla con las columnas necesarias utilizando el mismo tipo de datos que las columnas de la tabla origen seleccionadas.
Espero te sirva