RE:como crear una tabla a partir de una select
1.- Si deseas insertar a una tabla temporal es:
select campo1,campo2,campo3
from tabla
insert into temp mi_tabla;
(los datos quedan almacenados en la tabla temporal y estos los puedes volver a consultar con un select haciendo referencia a la tabla temporal)
2.- Si deseas seleccionar de una tabla e insertar en otra diferente, entonces utliza:
insert into tabla_nueva (campo1)
select c1
from tabla ;
(en este caso c1 y campo1 deben de ser del mismo tipo )
Espero te sea de utilidad