Sql 在预先存在的表上使用内部联接创建表

Sql 在预先存在的表上使用内部联接创建表,sql,sql-server,Sql,Sql Server,我可以连接两个表,但我试图将它们另存为一个新表,但它总是说我的select语法错误 我对SQL server非常陌生 Create table New_table AS SELECT * from Old_Table inner join id on Old_table.id=Other_table.id 你需要: 创建表格新表格作为选择*从旧表格进入新表格内部连接旧表格上的其他表格。ID=Other\u table.ID这也不起作用,我如何格式化它,就像你做的一样?在我添加创建表格新表格作

我可以连接两个表,但我试图将它们另存为一个新表,但它总是说我的select语法错误

我对SQL server非常陌生

Create table New_table AS
SELECT * 
from Old_Table inner join id on Old_table.id=Other_table.id
你需要:


创建表格新表格作为选择*从旧表格进入新表格内部连接旧表格上的其他表格。ID=Other\u table.ID这也不起作用,我如何格式化它,就像你做的一样?在我添加创建表格新表格作为part@MrGlen您不想添加CREATE表,只需执行MarcinJ显示的操作。当我这样做时,它会说,新_表中的列名“id”不止一次被指定。您将需要指定旧_表和新_表中的所有列,排除或重命名为via,因为这两列中相同的列(如id.*)在这里不起作用,因为id在这两个列中都存在,并且不能在一个表中有两个名称相同的列。该语法创建表。。。在大多数RDBMS上也是如此。事实上,这是从查询创建表的SQL标准方法。然而,SQLServer使用INTO,MarcinJ的答案是正确的。只需显式声明查询中的所有列,因为参与查询的表中可能有同名的列
SELECT Old_table.id
     , Old_table.foo
     , Other_Table.bar
     , Other_Table.foo AS baz -- foo has to be renamed, can't have two columns with the same name
  INTO New_table 
  FROM Old_Table 
 INNER 
  JOIN Other_Table 
    ON Old_table.id = Other_table.id