두 테이블 XY와 Tops가 있습니다. MS Access와 SQL을 사용하여 위 테이블에 합류하려고 시도하지만 각 XY.wid에 대해 XY.VD보다 작은 Tops.Depth_Top 만 유지합니다. 저는 SQL을 처음 접했지만 다음과 같은 두 가지 쿼리를 작성했습니다. 첫 번째 임계 값 (Depth_Tops < = TVD) 위에있는 모든 데이터를 식별합니다.SQL Join Table 및 Find Max
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)));
이 쿼리는 두 쿼리를 모두 독립적으로 실행하면 원하는 결과를 얻을 수 있지만 두 쿼리를 하나로 결합하는 데 문제가 있습니다.
답을 고맙습니다. 이 코드는 첫 번째 쿼리와 동일한 결과를 반환합니다. 이것이 이유인지는 모르지만 wid와 Name은 서로 독립적입니다. http://imgur.com/a/EFlvN 아래쪽 두 줄과 함께 강조 표시된 행을 제거하고 싶습니다. –
그래서 한 행만 반환할까요? – morinx
이 예제에서는 두 행 (wid 0 및 1)이됩니다. 원본 테이블의 깊이는 TVD보다 작거나 같습니다. 나는 각 넓이를위한 TVD보다 더 깊은 깊이와 관련된 정보만을 유지하고 싶다. –