table1 table2
id number start end indicator
11 4 1 5 N
22 6 2 7 N
33 8 5 12 Y
44 10
如果我希望 table1 中的行在 table2 (start,end) 范围内对应,其中两个单独条件的指示符为 Y,那么连接这些表的最有效方法是什么;
- table2 中只有一行会有 Y 指示符
- table2 中的一行或多行将有一个 Y 指示符
即(坏例子)
SELECT * from table1
WHERE table1.number > (SELECT start from table2 WHERE indicator = 'Y')
AND table1.number < (SELECT end from table2 WHERE indicator = 'Y')