如何将查询结果转换/保存到表中

时间:2020-08-26 11:45:48

标签: sql sql-server

请你帮我一下。我需要将此内部联接查询的结果保存到表中。

select *
from [dbo].[List of 7671 Zim Acquittals Used By EY] inner join
     [dbo].[Zim Phase 3 - Combo of Phases 1 - 3 _ 6 Aug For SQL Master]
     on [dbo].[List of 7671 Zim Acquittals Used By EY].[Ref1]=[dbo].[Zim Phase 3 - Combo of Phases 1 - 3 _ 6 Aug For SQL Master].[Ref1]

感谢克里斯

4 个答案:

答案 0 :(得分:1)

您可以使用SELECT INTO statementSELECT INTO statement将数据从一个表复制到新表中。

以下SQL语句将数据从多个表复制到新表中:

select *
into [dbo].[Table_name]
from [dbo].[List of 7671 Zim Acquittals Used By EY] inner join [dbo].[Zim Phase 3 - Combo of Phases 1 - 3 _ 6 Aug For SQL Master] on [dbo].[List of 7671 Zim Acquittals Used By EY].[Ref1]=[dbo].[Zim Phase 3 - Combo of Phases 1 - 3 _ 6 Aug For SQL Master].[Ref1]

或者您可以使用其他变体:INSERT INTO Statement.
INSERT INTO SELECT语句从一个表中复制数据并将其插入到另一个表中。

INSERT INTO SELECT要求源表和目标表中的数据类型匹配。 但是首先,您需要创建表,例如:

CREATE TABLE Table_Name(
    Field1 <type>, 
    Field2<type>,
    Field3 <type>
) 

之后,您可以使用以下查询:

  INSERT INTO Table_name (Field1,Field2, Field3) 
  SELECT * from [dbo].[List of 7671 Zim Acquittals Used By EY] inner join [dbo].[Zim Phase 3 - Combo of Phases 1 - 3 _ 6 Aug For SQL Master on [dbo].[List of 7671 Zim Acquittals Used By EY].[Ref1]=[dbo].[Zim Phase 3 - Combo of 1 - 3 _ 6 Aug For SQL Master].[Ref1]

答案 1 :(得分:0)

尝试一下,

select *
into [dbo].[NewTable]
from [dbo].[List of 7671 Zim Acquittals Used By EY] inner join
[dbo].[Zim Phase 3 - Combo of Phases 1 - 3 _ 6 Aug For SQL Master]
on [dbo].[List of 7671 Zim Acquittals Used By EY].[Ref1]=[dbo].[Zim Phase 3 - Combo of Phases 1 - 3 _ 6 Aug For SQL Master].[Ref1]

答案 2 :(得分:0)

要插入到Temp表中,请使用以下查询

select * into #temp from  (Your Query)

要插入“物理”表中,请创建具有必需列的表:

INSERT INTO Tablename
SELECT Columnnames FROM TABLE NAME;

答案 3 :(得分:0)

在Oracle中,您可以使用CTAS,即如果仅需要复制表结构

Create table as select * from tablename
where 1 = 2;

在SQL Server中CTAS不可用,因此您必须使用

SELECT * INTO NEW_TABLE FROM EXISTING_TABLE WHERE 1 = 2;

您可以参考此post

相关问题