Bills を含むテーブルがあり、各 Bill は 20 のサブレジスタを持つことができます。
例 (請求書ごとの上位 5 件、最大 60,000 件の請求書)
(表 1)
Bill | SubRow |
-----+------------+
1000 | 1 |
1000 | 2 |
1000 | 3 |
1000 | 4 |
1000 | 5 |
1001 | 1 |
1001 | 2 |
1001 | 3 |
1001 | 4 |
1001 | 5 |
別のテーブルには、請求書番号と下位行の範囲があります
例: (表 2)
Bill | InitialRange | Final Range|
-----+--------------+------------+
1000 | 1 | 2 |
1000 | 4 | 5 |
1001 | 3 | 5 |
クエリでは、次のことを達成したいと考えています。
表示するには、表 1 から、表 2 の範囲内にないすべてのレコード。
つまり、次のセットを取得する必要があります。
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 の 2 行目の 2 番目の条件は、1000 請求書の最初の条件をオーバーライドします。
これを達成する方法について何か考えはありますか?
注(テーブルがめちゃくちゃに見えるので、修正しようとします)
例の画像: