通过从另一个表中获取两个数字的范围来查找表中使用的最大数字

时间:2017-07-20 00:00:51

标签: oracle oracle11g toad

下面的图片会显示有两个表格,范围和项目。 范围表将显示从最小数字到最大数字的范围。 items表将显示已使用的范围中的数字。换句话说,从每个范围使用一些数字,而一些数字尚未使用。我想要一个查询,它将找到每个给定范围中使用的最大数量。 例如,从1到100的范围,使用的最大数字是5.我希望我的结果显示5作为使用的最大数字。同样,第二个范围应显示110,第三个范围应显示为null,因为没有使用任何数字。

Click here to view the image

1 个答案:

答案 0 :(得分:0)

您需要左外连接和聚合:

select   r.frnumber, r.tonumber, max(i.rangenum) as maxnumused
from     ranges r left outer join items i
                  on i.rangenum between i.frunmber and i.tonumber
group by r.frnumber, r.tonumber
;