MS Access 多个 SELECT 查询
MS Access Multiple SELECT Query
我有三个table:
字段
ID | FarmID | FIELD_NUM | Year
农场
ID | ClientID
客户
ID | CLIENT_NUM
我有一个简单的查询可以从客户 table:
获得 CLIENT_NUM
SELECT
(SELECT CLIENT_NUM FROM Clients
WHERE ID = (SELECT ClientID FROM Farms WHERE ID = FarmID)) AS CID
FROM Fields
WHERE Year = 2014 AND FIELD_NUM = '28-2'
在SQL服务器中,这工作得很好;但是,在 Microsoft Access 中,它需要很长时间。 运行 这个查询有更好的方法吗?
尝试使用 JOIN
而不是使用子查询。根据 Access 优化查询的方式,它可能有助于提高性能,但也有助于提高可读性:
SELECT Clients.CLIENT_NUM as CID
FROM (Clients INNER JOIN Farms ON Clients.ID = Farms.ClientID)
INNER JOIN Fields ON Farms.ID = Fields.FarmID
WHERE Fields.Year = 2014 AND Fields.FIELD_NUM = '28-2'
我有三个table:
字段
ID | FarmID | FIELD_NUM | Year
农场
ID | ClientID
客户
ID | CLIENT_NUM
我有一个简单的查询可以从客户 table:
获得 CLIENT_NUMSELECT
(SELECT CLIENT_NUM FROM Clients
WHERE ID = (SELECT ClientID FROM Farms WHERE ID = FarmID)) AS CID
FROM Fields
WHERE Year = 2014 AND FIELD_NUM = '28-2'
在SQL服务器中,这工作得很好;但是,在 Microsoft Access 中,它需要很长时间。 运行 这个查询有更好的方法吗?
尝试使用 JOIN
而不是使用子查询。根据 Access 优化查询的方式,它可能有助于提高性能,但也有助于提高可读性:
SELECT Clients.CLIENT_NUM as CID
FROM (Clients INNER JOIN Farms ON Clients.ID = Farms.ClientID)
INNER JOIN Fields ON Farms.ID = Fields.FarmID
WHERE Fields.Year = 2014 AND Fields.FIELD_NUM = '28-2'