table1 table2
id number start end indicator
11 4 1 5 N
22 6 2 7 N
33 8 5 12 Y
44 10
table2 (start,end) の範囲内に対応する table1 の行が必要な場合、これらのテーブルを結合する最も効率的な方法は何でしょうか。
- テーブル 2 の 1 つの行だけに Y インジケーターがあります。
- table2 の 1 つ以上の行に Y インジケーターがあります
すなわち(悪い例)
SELECT * from table1
WHERE table1.number > (SELECT start from table2 WHERE indicator = 'Y')
AND table1.number < (SELECT end from table2 WHERE indicator = 'Y')