[英]Convert SQl query to MS Access
只需使用相关的子查询:
SELECT *
FROM data
WHERE TCH_Traffic = (SELECT MAX(d2.TCH_Traffic)
FROM data as d2
WHERE d2.object = data.object
);
MS Access的默认Jet / ACE SQL引擎可以使用IN
子句在WHERE
条件下处理子查询。 但是,子查询必须返回一个列值。 请考虑以下调整:
SELECT *
FROM data WHERE (object) IN
( SELECT object
FROM data
GROUP BY object
HAVING TCH_Traffic = MAX(TCH_Traffic)
);
但是,您可以简单地将派生表与INNER JOIN
并避免使用WHERE
子句子查询。 同样,可以将相同的派生表查询另存为MS Access中的存储查询对象,并在join子句中明确引用:
SELECT *
FROM data
INNER JOIN
( SELECT object, MAX(TCH_Traffic) As maxTraffic
FROM data
GROUP BY object
) As dT
ON data.object = dT.object
AND data.TCH_Traffic = dt.maxTraffic
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.