我有两张桌子,我可以完全单独查询。
table1
存储范围:
SELECT range_id, range_from, range_to FROM table1;
table2
存储ID:
SELECT MAX(id) FROM table2 WHERE id BETWEEN <x> AND <y>;
我需要一个查询,来自range_id
的每个元组(from
,to
,table1
)从MAX(id)
中选择table2
,以便MAX(id)
1}}介于from和to之间:
range_id max(id)
-------- -------
foo 3
bar 17
snafu 823467
我不知道怎么做到这一点,因为这里没有什么可以加入。
有什么想法吗?
答案 0 :(得分:4)
select *
, (
select max(t2.id)
from table2 t2
where t2.id between t1.range_from and t1.range_to
) as max_id_in_range
from table1 t1
答案 1 :(得分:0)
试试这个
SELECT t1.range_id ,t2.MAX(id)
FROM table1 t1
INNER JOIN table2 t2
ON t1.range_ID = t2.ID
WHERE t2.id BETWEEN <x> AND <y>