在'选择'的结果中省略了缺少的行。声明

时间:2014-06-07 11:22:21

标签: sql select impala

有没有办法填写select语句结果中省略的行?

我有这样的数据:

person,day
1,20
1,24

...这是由像这样的简单查询返回的:

select *
from example_table
where day>=20

我想要的是为缺少的日子添加行,所以结果如下所示:

person,day
1,20
1,21
1,22
1,23
1,24

有没有办法通过SQL做到这一点?

1 个答案:

答案 0 :(得分:0)

一个解决方案是一个帮助表,其中包含一个整数列,其值从1到最大值(31?)。

select person, day
from yourtable
UNION ALL
select intcol, 
from helptable h
where not exists (select day from yourtable y where y.day = h.helptable);