【发布时间】:2020-07-05 01:34:11
【问题描述】:
我正在尝试重新创建在 MS Access 中完成的查询,现在正在 SQL Server 环境中处理。我了解 Access 中的某些 SQL 语法与 SQL Server 中的不同。网上是否有某个地方指出了主要区别,或者可以帮助将其中的一个翻译成另一个?
这是我需要更新才能在 SQL Server 中使用的查询:
UPDATE
dbo.TPR00100
INNER JOIN (
dbo.UPR10302
LEFT JOIN dbo.B3980280 ON dbo.TPR10302.COMPTRNM = dbo.B3980280.COMPTRNM
) ON dbo.TPR00100.STAFFID = dbo.TPR10302.STAFFID
SET
dbo.B3980280.COMPTRNM = dbo.TPR10302.comptrnm,
dbo.B3980280.BI_LOC_ID = dbo.TPR00100.locatnid
WHERE
(((dbo.B3980280.COMPTRNM) Is Null))
有哪些关键方面需要在 SQL Server 事务中针对该查询进行不同处理?
【问题讨论】:
-
旁白:每当我将代码从一种 SQL 方言翻译成另一种 SQL 方言时,我发现在
" 几乎总能得到我需要的东西。例如"在 TSQL 中访问 CDate 等效项"。 -
@EricBrandt 是的,不能在 Access 中使用
UPDATE或PIVOT。 T-SQL 没有这些的真正等价物。UPDATE可能需要重写为 3 个单独的UPDATE/MERGE查询,如果它涉及多个表,PIVOT只能使用动态 SQL 处理。
标签: sql sql-server tsql ms-access sql-update