나는 빌을 가진 테이블을 가지고있다. 각 빌은 20 개의 서브 레지스터를 가질 수있다.SQL을 필터링하는 방법 다른 테이블에 두 개의 범위가있는 테이블
예
(표 ONE) 다른 테이블에서
Bill | SubRow |
-----+------------+
1000 | 1 |
1000 | 2 |
1000 | 3 |
1000 | 4 |
1000 | 5 |
1001 | 1 |
1001 | 2 |
1001 | 3 |
1001 | 4 |
1001 | 5 |
(상위 5 당 빌, 최대 60,000 청구서 수), 나는 빌 번호와 subrows의 범위를
예 : (표 TWO) 나는 WA 쿼리에서
Bill | InitialRange | Final Range|
-----+--------------+------------+
1000 | 1 | 2 |
1000 | 4 | 5 |
1001 | 3 | 5 |
NT는 다음 달성하기 위해 : 테이블 하나에서 모든 레코드를
가 표시하려면를, NOT 나는 다음과 같은 설정을 얻어야한다 의미 표 2
의 범위 beetween : 내가 가진 무엇
Bill | SubRow |
-----+------------+
1000 | 3 |
1001 | 1 |
1001 | 2 |
지금까지 :
Select Bill,SubRow
from TABLE ONE
LEFT join TABLE TWO ON TABLEONE.Bill= TABLETWO.bill
where Subrow < InitialRange and Subrow > FinalRange
하지만 TABLETWO에서 두 번째 행의 두 번째 조건은 1000 법안에 대한 첫 번째 우선합니다.
어떻게해야합니까?
이참고 예와
이미지 (I 테이블이 엉망이 나타납니다, 나는 그것을 해결하기 위해 노력할 것입니다) :
http://postimg.org/image/ymc3z2uzx/
음, 테이블이 있습니다 엉망이되다. 그것들을 고쳐라. – Devorak