Sql server错误'('附近的语法不正确

use*_*400 0 sql sql-server sql-server-2008

create table new_temp AS
(SELECT * 
  FROM [Sales].[dbo].[SecondarySales]
  left JOIN [Sales].[dbo].[PrimarySales]
  On [Sales].[dbo].[SecondarySales].[SalesFromID]=[Sales].[dbo].[PrimarySales].[SalesToID]);
Run Code Online (Sandbox Code Playgroud)

当我尝试在sql server管理控制台中创建表时,我在这个查询中收到错误"'('.'附近的语法不正确,它靠近AS关键字.

Pரத*_*ீப் 5

这不是createselectsql server中的语句表的正确方法

使用INTO条款

SELECT ... INTO在默认文件组中创建一个新表,并将查询中的结果行插入其中

SELECT A.Col1,A.col2,B.Col1 as B_col1,B.col3...
INTO   new_temp
FROM   [Sales].[dbo].[SecondarySales] A
       LEFT JOIN [Sales].[dbo].[PrimarySales] B
              ON [Sales].[dbo].[SecondarySales].[SalesFromID] = [Sales].[dbo].[PrimarySales].[SalesToID]; 
Run Code Online (Sandbox Code Playgroud)

HART CO注释中所述,如果两个表中的列名相同,则列名在表中应该是唯一的,那么您必须提供别名.

更新:

SELECT a.PrimarySalesId,a.SalesFromID,a.SalesToID,a.InvoiceNumber,a.InvoiceDate,
       a.ReceiveDate,a.TotalQuantity,a.TotalAmount,a.IsAcknowledgementRequired,
       a.IsReceived,a.SalesType,a.AcknowlegeDate,a.Status,a.SalesMan,
       a.RecordCreationDate,a.ModifiedOn,a.CreatedBy,a.ModifiedBy,
       b.SecondarySalesID,b.AcknowlegeDate,
       b.CreatedBy,
       b.InvoiceDate as SecondarySales_InvoiceDate,
       b.InvoiceNumber as SecondarySales_InvoiceNumber,
       b.IsAcknowledgementRequired,
       b.IsReceived as SecondarySales_IsReceived,
       b.Modified,
       b.ModifiedOn as SecondarySales_ModifiedOn,
       b.ReceiveDate,
       b.RecordCreationDate,
       b.SalesFromID as SecondarySales_SalesFromID,
       b.SalesMan as SecondarySales_SalesMan,
       b.SalesManID,
       b.SalesToID as SecondarySales_SalesToID,
       b.SalesType,
       b.Status,
       b.TotalAmount,
       b.TotalQuantity
INTO   new_temp
FROM   [Sales].[dbo].[SecondarySales] b
       LEFT JOIN [Sales].[dbo].[PrimarySales] a
              ON b.SalesFromID = a.SalesToID 
Run Code Online (Sandbox Code Playgroud)