使用子查询在SQL中更新

使用子查询在SQL中更新,sql,sql-server-2000,updating,Sql,Sql Server 2000,Updating,我是一名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 但我得到了这些错误

我是一名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行:“.”附近的语法不正确

味精156,第15级,状态1,第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)
试试这个

 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

设置STG.COL1=SUB.COL1,STG.COL2=SUB.COL2在多字段更新中使用逗号当您遇到错误并询问有关该错误的问题时,您需要包括该错误。使用问题上的“编辑”链接包含该详细信息,不要将其作为注释包含在内。另请阅读。
更新
语法取决于数据库;标记您正在使用的数据库。此外,“但获取错误”并不能提供信息;提供实际的错误消息。SQL Server 2000已失效且不受支持。。。。你一定要升级到更新的版本!更新版本的许多功能根本不适用于这样一个古董版本,因为我的地方使用它,我不能去要求HOD更改它。