2

我有两个表,我可以完美地单独查询。

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) from选择table1介于from 和 to 之间的 from :MAX(id)table2MAX(id)

range_id    max(id)
--------    -------
foo         3
bar         17
snafu       823467

我不知道如何做到这一点,因为这里没有什么可以加入的。

有任何想法吗?

4

2 回答 2

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
于 2013-01-09T13:10:22.370 回答
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>
于 2013-01-09T13:13:29.193 回答