源表如下:
Id start_date end_date field1 1 01/03/2019 07/03/2019 text1 2 10/04/2019 15/04/2019 text2
我想得到以下输出:
Id date field1 1 01/03/2019 text1 1 02/03/2019 text1 1 03/03/2019 text1 1 04/03/2019 text1 1 05/03/2019 text1 1 06/03/2019 text1 1 07/04/2019 text1 2 10/04/2019 text2 2 11/04/2019 text2 2 12/04/2019 text2 2 13/04/2019 text2 2 14/04/2019 text2 2 15/04/2019 text2
我必须使用循环来填充此表吗?
谢谢
您可以使用技巧来connect by查询prior + sys_guid()
connect by
prior + sys_guid()
select id,start_date + level - 1 as "date", field1 from t connect by level <= end_date - start_date + 1 and prior id = id and prior sys_guid() is not null;
演示