잘못 설계된 Access 2002 데이터베이스를 상속 받았습니다. 몇 가지 쿼리 문제를 해결하기 위해 노력하고 있는데 특히 한 가지 쿼리로 인해 내 머리가 긁히는 경우가 있습니다. 같은 테이블에 여러 개의 조인을 중첩하는 중입니다 ... 각 조인은 여러 번 동일한 테이블에 조인하는 것이 아니라 이전 조인에 중첩됩니다. 나는 솔직히이 쿼리가 작동하는 이유를 확실히 말할 수 없다 - 나는 이런 방식으로 생성 된 조인을 본 적이 없다 ... 누구나이 내부 조인 (성능 현명한)의 효과에 대해 의견을 말할 수 있으며 un에 의한 성능 향상을 볼 수있을 것이다. - 그들을 모아?Access 2002 - 동일한 테이블에 대한 여러 수준의 중첩 된 내부 조인 (정규 내부 조인과 비교)?
예 :
다만 방법 액세스은 당신이 그들을 만들 비주얼 쿼리 디자이너를 사용할 때 쿼리를 작성하는 경향이있다--Detals cut
FROM tempMapIDs INNER JOIN
(BenefitMapRiders AS RxDeduct INNER JOIN
(BenefitMapRiders AS SubAbuse INNER JOIN
(BenefitMapRiders AS Infertility INNER JOIN
(BenefitMapRiders AS Dental INNER JOIN
(BenefitMapRiders AS Chiro INNER JOIN
(BenefitMapRiders AS Vision INNER JOIN
(BenefitMapRiders AS Drug INNER JOIN qryOptionsMap ON Drug.NewRiderOption = qryOptionsMap.Drug)
ON Vision.NewRiderOption = qryOptionsMap.Vision)
ON Chiro.NewRiderOption = qryOptionsMap.Chiro)
ON Dental.NewRiderOption = qryOptionsMap.Dental)
ON Infertility.NewRiderOption = qryOptionsMap.Infertility)
ON SubAbuse.NewRiderOption = qryOptionsMap.SubAbuse)
ON RxDeduct.NewRiderOption = qryOptionsMap.RxDeduct)
ON (tempMapIDs.NewDate = qryOptionsMap.RenewalDate)
AND (tempMapIDs.NewPlanOption = qryOptionsMap.PlanOption)
AND (tempMapIDs.RxDeduct = RxDeduct.OldRiderOption)
AND (tempMapIDs.SubAbuse = SubAbuse.OldRiderOption)
AND (tempMapIDs.Infertility = Infertility.OldRiderOption)
AND (tempMapIDs.Chiro = Chiro.OldRiderOption)
AND (tempMapIDs.Vision = Vision.OldRiderOption)
AND (tempMapIDs.Dental = Dental.OldRiderOption)
AND (tempMapIDs.Drug = Drug.OldRiderOption)
AND (tempMapIDs.MapID = RxDeduct.MapID)
AND (tempMapIDs.MapID = SubAbuse.MapID)
AND (tempMapIDs.MapID = Infertility.MapID)
AND (tempMapIDs.MapID = Chiro.MapID)
AND (tempMapIDs.MapID = Vision.MapID)
AND (tempMapIDs.MapID = Dental.MapID)
AND (tempMapIDs.MapID = Drug.MapID)
)