【发布时间】:2017-03-14 14:51:30
【问题描述】:
我有两张桌子 XY 和 Tops。我正在尝试使用 MS ACCESS 和 SQL 来加入这些表(在 wid 上),但只保持每个 XY.wid 的最大 Tops.Depth_Top 小于 XY.TVD。 我对 SQL 相当陌生,但做了以下两个查询。第一个识别所有高于阈值 (Depth_Tops
SELECT DISTINCT XY.wid, Tops.Name, Tops.Depth_Top, XY.TVD
INTO Result_SQ
FROM Tops
INNER JOIN XY
ON Tops.wid = XY.wid
WHERE (((Tops.Depth_Top)<=[XY].[TVD]))
ORDER BY XY.wid, Tops.Depth_Top
第二个查询从第一个查询中获取结果,并且只保留最大 Depth_Top。
SELECT * INTO Unique_Result_SQ
FROM Result_SQ AS t1
WHERE (((t1.Depth_Top)=(Select MAX(Depth_Top)
From Result_SQ t2
Where t2.XY_wid = t1.XY_wid
Group BY t2.XY_wid)));
如果这两个查询都是独立执行的,那么这些查询可以达到预期的结果,但是,我无法将两者合二为一。
【问题讨论】:
标签: sql ms-access join max threshold