【发布时间】:2019-09-22 16:43:18
【问题描述】:
我有一个不寻常的问题。我正在 MS Access 中创建应用程序,在创建代码时遇到错误。我开始自己寻找解决方案,最后找到了。通常,由于“愚蠢的错误”,我的 Access 代码不起作用。
在这个线程中查看具有 13 个优点的第二个答案:How do I perform update query with subquery in Access? 如您所见,MS Access 不允许您在查询中执行子查询 (?)。我在 SQL Server 中创建了相同的环境并且它工作正常。有人可以帮我重写查询吗?
SQL
UPDATE DANE_BUD_ALL_BR
SET ID_ewidencji = (
SELECT ID_ewidencji FROM Ewidencje
WHERE Ewidencje.E_numerProjektu LIKE DANE_BUD_ALL_BR.numerProjektu
)
WHERE Identyfikator IN (
SELECT b.Identyfikator
FROM DANE_BUD_ALL_BR b INNER JOIN Ewidencje e
ON e.E_numerProjektu = b.numerProjektu
WHERE e.E_numerProjektu LIKE b.numerProjektu
);
我希望查询以与 SQL Server 中相同的方式执行 - 因为它在那里工作。
// 有两个表:“ewidencje”和“dane”。它们与“ID_ewidencji”相连,在两个表中都有一个“numerProjektu”字段(忽略它是数据库中数据重复的事实)。图 1 显示了 SQL 查询之前的数据。在我的 UPDATE 查询之后,我希望“数据”表中的“ID_ewidencji”字段基于两个表中相同的“numerProjektu”来完成。查询后(照片 2)我们可以看到它发生了。但是,访问抛出一个错误:操作必须使用更新表查询。
【问题讨论】:
标签: sql database date ms-access