【发布时间】:2015-04-13 11:49:56
【问题描述】:
我在 Access 2007 中有 3 个表,其中一个是涡轮泵列表,并且有一个主键 [Numéro interne]。我正在尝试进行一个查询,将该表与其他两个表中列出的泵相关的每种类型的最新操作连接起来。
连接 2 个表产生的记录集仍然是可更新的:
SELECT t.*, n.[Numéro attribué]
FROM Turbopompes AS t
INNER JOIN (
SELECT Turbopompe, [Date attribution], [Numéro attribué]
FROM [Turbopompes Numéros]
ORDER BY [Date attribution] DESC
) AS n ON t.[Numéro interne] = n.Turbopompe;
但无论我如何表达,加入 3 个表都会使结果变为只读:
SELECT t.*, n.[Numéro attribué], m.[Date maintenance], m.Détails
FROM (
Turbopompes AS t
INNER JOIN (
SELECT Turbopompe, [Date attribution], [Numéro attribué]
FROM [Turbopompes Numéros]
ORDER BY [Date attribution] DESC
) AS n ON t.[Numéro interne] = n.Turbopompe
) INNER JOIN (
SELECT Turbopompe, [Date maintenance], Détails
FROM [Turbopompes Maintenances]
ORDER BY [Date maintenance] DESC
) AS m ON t.[Numéro interne] = m.Turbopompe;
我尝试过的另一个查询结果相同:
SELECT t.*, n.[Numéro attribué], m.[Date maintenance], m.Détails
FROM (
Turbopompes AS t
INNER JOIN (
SELECT Turbopompe, [Date attribution], [Numéro attribué]
FROM [Turbopompes Numéros]
ORDER BY [Date attribution] DESC
) AS n ON t.[Numéro interne] = n.Turbopompe
) INNER JOIN (
Turbopompes AS t2
INNER JOIN (
SELECT Turbopompe, [Date maintenance], Détails
FROM [Turbopompes Maintenances]
ORDER BY [Date maintenance] DESC
) AS m ON t2.[Numéro interne] = m.Turbopompe
) ON t.[Numéro interne] = t2.[Numéro interne];
发件人:
http://www.fmsinc.com/Microsoftaccess/query/non-updateable/index.html
您的数据可能无法更新的原因有很多。 :
- 具有不在关键字段上的多表连接的查询
所以 Turbopompes 和 [Turbopompes Numéros] 之间的内部连接不保留主键?有什么办法解决吗?
【问题讨论】:
标签: sql ms-access join ms-access-2007 recordset