简体   繁体   English

MS Access多重选择查询

[英]MS Access Multiple SELECT Query

I have three tables: 我有三个表:

Fields 领域

ID | FarmID | FIELD_NUM | Year

Farms 农场

ID | ClientID

Clients 客户群

ID | CLIENT_NUM

I have a simple query to get CLIENT_NUM from the Clients table: 我有一个简单的查询,可从Clients表中获取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'

In SQL Server, this works just fine; 在SQL Server中,这很好用。 however, in Microsoft Access it takes forever. 但是,在Microsoft Access中它需要永远。 Is there a better way to run this query? 有没有更好的方法来运行此查询?

Instead of using sub-queries, try using JOIN . 代替使用子查询,尝试使用JOIN Depending on how Access optimizes the query it could help with performance, but also it helps a lot with readability: 根据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'

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM