繁体   English   中英

SQL Server错误'('附近的语法不正确

[英]Sql server error Incorrect syntax near '('

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

当我尝试在SQL服务器管理控制台“ AS关键字附近的'('..附近不正确的语法”)中创建表时,此查询出现错误。

这不是从SQL Server中的select语句create表的正确方法

使用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]; 

正如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 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM