将SQL查询结果放入表中

时间:2010-08-20 21:45:00

标签: sql

我想把sql查询的结果放到一个表中但是如果我做SELECT列名INTO NEWTABLE(它没有创建),它有一次好,但是当我再次运行那个查询时,它表示表已经存在。我正在做的就是从查询到newtable的结果,我将每周运行它所以它不应该给我错误:表已经存在。

例如:我想将以下查询结果放入Newtable EmployeeDetails中,我将每周运行它。

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

5 个答案:

答案 0 :(得分:3)

请改用INSERT INTO。

但请确保在第一次调用insert之前已经创建了表,

INSERT INTO table1 (column1, column2, ...)
SELECT column3, column4, ...
FROM table2

答案 1 :(得分:2)

使用IF EXISTS检查

sql server的例子

IF  EXISTS (SELECT * FROM sys.objects 
WHERE object_id = OBJECT_ID(N'[dbo].[YOurTableName]') 
AND type in (N'U'))
BEGIN
      DROP TABLE [dbo].[YOurTableName
END

select * into [dbo].[YOurTableName]
from ......

答案 2 :(得分:2)

IF  EXISTS (SELECT * FROM sys.objects 
    WHERE object_id = OBJECT_ID(N'[dbo].[YOurTableName]') AND type in (N'U')) 
      //INSERT INTO STATEMENT
ELSE
     //SELECT INTO STATEMENT THAT U ALREADY HAVE

答案 3 :(得分:0)

使用插入 - 插入newtbl从tbl中选择x,y,z

(确保先创建表格)

答案 4 :(得分:0)

如果在当前SQL连接的持续时间内只需要生成的表,请创建一个临时表:

CREATE TEMPORARY TABLE newtable SELECT the_rest_of_your_query

或者,如果你想让桌子保持一周,但每周都要完全更换,请确保它先消失:

DROP TABLE IF EXISTS newtable