使用子查询在SQL中更新
我是一名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 但我得到了这些错误
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更改它。