2015-12-03 56 views
0

我正在尝试创建表,但它给了我一个表明它正在期待ID的错误。谁能告诉我问题是什么?SQL - 尝试创建包含语句的表时出现ID错误

我的查询如下:

Create Table ForecastSnapshot as 

(
SELECT x.* 

FROM 
(
(
SELECT [Opportunity ID] 
     ,[Last Modified Date] 
     ,[Close Date] 
     ,[Stage] 
     ,[ARR] 
     ,[TCM] 
     ,[SYSTEMMODSTAMP] 
     ,'2015-07-06' as [Snapshot Date] 


    FROM table1 


) x 

RIGHT JOIN (

SELECT max([SYSTEMMODSTAMP]) as [SYSTEMMODSTAMP], [Opportunity ID] 
FROM table1 
WHERE [SYSTEMMODSTAMP] < '2015-07-06'               
GROUP BY [Opportunity ID] 

) as y 

ON x.[Opportunity ID] = y.[Opportunity ID] AND x.[SYSTEMMODSTAMP] = y.[SYSTEMMODSTAMP] 
+0

第一 “(” 下的FROM不匹配,并且是不必要的。 – JBrooks

回答

1

你需要的是SELECT ... INTO语句:

SELECT x.* INTO ForecastSnapshot 
FROM 
(
SELECT [Opportunity ID] 
    ,[Last Modified Date] 
    ,[Close Date] 
    ,[Stage] 
    ,[ARR] 
    ,[TCM] 
    ,[SYSTEMMODSTAMP] 
    ,'2015-07-06' as [Snapshot Date] 
    FROM table1 
) x 

RIGHT JOIN (

SELECT max([SYSTEMMODSTAMP]) as [SYSTEMMODSTAMP], [Opportunity ID] 
FROM table1 
WHERE [SYSTEMMODSTAMP] < '2015-07-06'               
GROUP BY [Opportunity ID] 

) as y 

ON x.[Opportunity ID] = y.[Opportunity ID] AND x.[SYSTEMMODSTAMP] = y.[SYSTEMMODSTAMP] 
+0

谢谢!它的工作 –

相关问题