2017-02-22 86 views
0

我是新手SQL學習者和試圖做一個更新語句像我得到這些錯誤之前更新SQL中使用子查詢

UPDATE STG 
SET STG.COL1 = SUB.COL1 
SET STG.COL2 = SUB.COL2 
FROM TABLE AS STG 
INNER JOIN (SELECT ID, MIN([DATE]) AS COL1, MAX([DATE]) AS COL2 
      FROM TABLE 
      GROUP BY ID) AS SUB ON STG.ID = SUB.ID 

但:

消息170,第15級,狀態1,第4行
第4行:'。'附近的語法不正確。

Msg 156,Level 15,State 1,Line 10
關鍵字'AS'附近的語法不正確。

我使用

Microsoft SQL Server 2000 - 8.00.2066 (Intel X86) 
May 11 2012 18:41:14 
Copyright (c) 1988-2003 Microsoft Corporation 
Enterprise Edition on Windows NT 5.2 (Build 3790: Service Pack 2) 
+0

SET STG.COL1 = SUB.COL1,STG.COL2 = SUB.COL2使用逗號多個領域更新用 –

+0

當你有一個錯誤,你問一個關於那個錯誤的問題,你需要包含那個錯誤。使用您問題上的編輯鏈接來包含該詳細信息,不要將其作爲評論。另請閱讀[我如何提出一個好問題](http://stackoverflow.com/help/how-to-ask)。 – Igor

+1

'UPDATE'語法取決於數據庫;標記您正在使用的數據庫。另外,「但是出現錯誤」並不能提供信息;提供實際的錯誤消息。 –

回答

1

試試這個

UPDATE STG 
    SET STG.COL1 = SUB.COL1,STG.COL2 = SUB.COL2 
    FROM TABLE STG 
    INNER JOIN (SELECT ID 
    ,MIN([DATE]) AS COL1 
    ,MAX([DATE]) AS COL2 
    FROM TABLE 
    GROUP BY ID 
    ) As SUB 
    ON STG.ID = SUB.ID