2013-07-15 2 views
0

LEFT JOIN을 사용하여 두 개의 테이블을 조인하고 있지만 몇 개의 중복을 반환합니다.LEFT JOIN에서 중복 됨

SELECT tblDrill.Hole_ID, tblAssay.MidPoint, tblAssay.SampleNumber, tblAssay.Gold, tblMagSus.MagSus 
FROM tblDrill LEFT JOIN tblMagSus ON (((tblAssay.MidPoint)>tblMagSus.From And (tblAssay.MidPoint)<tblMagSus.To)) AND (tblAssay.Hole_ID = tblMagSus.Hole_ID); 

몇 시간, 그것은 두 개의 레코드를 반환하도록 tblMagSus.From 및 tblMagSus.To 사이에 떨어질 이상의 tblAssay.MidPoint이 : 이것은 내 쿼리입니다. 가장 높은 MagSus 값을 포함하는 레코드 만 반환하기를 원합니다.

+0

당신이에 대한 데이터베이스를 조회하고 무엇을 각 테이블에 저장되어있는 것을 명확히 할 수 적절할 것 SELECT? –

답변

0

아마도 DISTINCT가

http://www.w3schools.com/sql/sql_distinct.asp

SELECT DISTINCT tblDrill.Hole_ID, tblAssay.MidPoint, tblAssay.SampleNumber, tblAssay.Gold, tblMagSus.MagSus 
FROM tblDrill LEFT JOIN tblMagSus ON (((tblAssay.MidPoint)>tblMagSus.From And (tblAssay.MidPoint)<tblMagSus.To)) AND (tblAssay.Hole_ID = tblMagSus.Hole_ID); 
+0

SELECT DISTINCT 옵션을 시도했지만 필자가 이해하는 한 SELECT DISTINCT는 구별되는 전체 행을 식별하고 고유 한 tblDrill.SampleNumber만을 찾고 있습니다. – LIVIKA