2010-08-20 2 views
2

Comment puis-je mettre les résultats d'une requête dans une table qui n'est pas créée?Comment créer une table à partir des résultats d'une requête SQL?

Par exemple, placez les résultats de requête suivants dans une nouvelle table EmployeeDetail qui n'est pas créée. Créez la table et mettez les résultats en même temps.

select a.Name, b.Id 
from Database1 a left join 
    Database2 b 
ON a.Id = b.Id 

Comment cela peut-il être fait?

Répondre

2

Vous n'avez pas spécifié votre système SGBDR, mais dans SQL Server, il serait comme ça

select a.Name, b.Id into EmployeeDetail 
from Database1 a left join Database2 b ON a.Id = b.Id 
2

Cela dépendra du SGBDR. Si vous utilisez SQL Server, vous pouvez utiliser SELECT ... INTO

select a.Name, b.Id 
into EmployeeDetail 
from Database1 a left join Database2 b ON a.Id = b.Id 
0

Envoyer la commande create table avant la sql pour insérer les lignes.

3

Vous pouvez utiliser:

CREATE TABLE nom_table AS ...

où ... est votre requête.

est ici un lien avec plus de documentation: http://developer.postgresql.org/pgdocs/postgres/sql-createtableas.html

+1

+1: Cela est pris en charge sur [MySQL] (http://dev.mysql.com/doc/refman/5.1/en/create-table.html) et [Oracle] (http: //www.comp. dit.ie/btierney/oracle11gdoc/server.111/b28286/statements_7002.htm) aussi –

0

SELECT INTO

SELECT a.Name, b.id 
INTO newTable 
FROM from Database1 a 
LEFT JOIN Database2 b 
0

Pour Oracle SQL * Plus, la syntaxe suivante est utilisée

CREATE TABLE <table name> AS <your query>; 

Par exemple,

CREATE TABLE managers AS SELECT * FROM employees WHERE desg = 'MANAGER'; 
Questions connexes