Crear tabla a partir de una consulta a otra tabla

Escrito por Programador ASP clásico en SQL Server


En SQL es posible crear una tabla e insertar datos en ella en una sola sentencia consultando otra tabla (o varias):


select CAMPOS_NUEVA_TABLA
into NUEVA_TABLA
from TABLA
where CONDICION;

Es decir, se crea una nueva tabla y se inserta en ella el resultado de una consulta a otra tabla.

Un ejemplo prácitco sería el siguiente:

En un sistema web tenemos una tabla llamada "clientes" y necesitamos crear otra tabla identificada como "pais" que contenga los nombres de los paises.

La tabla "pasies", que vamos a crear, contendrá solamente un campo llamado "nombre_pais". La tabla clientes contiene varios registros con paises diferentes.

Podemos crear la tabla "paises" con el campo "nombre_pais" consultando la tabla "clientes" y en el mismo momento insertar la información:

  
select distinct (pais) as nombre_pais
into paises
from clientes
where activo=1

Los campos de la nueva tabla tienen el mismo nombre, tipo de dato y valores almacenados que los campos listados de la tabla consultada; si se quiere dar otro nombre a los campos de la nueva tabla se deben especificar alias.

Nota: se puede emplear "group by", funciones de agrupamiento y "order by" en las consultas. También podemos emplear "select... into" con combinaciones, para crear una tabla que contenga

Publicado el 11/07/2013 a las 16:18:55 hrs. | 1065 visitas.

Subir
Web hosting by Somee.com