Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Query to get data between periods

User_U66J8Nov 20 2019 — edited Nov 20 2019

Hi All,

Let us consider the following:

create table periods  (period_num number, period_year number, period_name varchar2(25))

insert into periods values ('1','2019','Aug-18');

insert into periods values ('2','2019','Sep-18');

insert into periods values ('3','2019','Oct-18');

insert into periods values ('4','2019','Nov-18');

insert into periods values ('5','2019','Dec-18');

insert into periods values ('6','2019','Jan-19');

insert into periods values ('7','2019','Feb-19');

insert into periods values ('8','2019','Mar-19');

insert into periods values ('9','2019','Apr-19');

insert into periods values ('10','2019','May-19');

insert into periods values ('11','2019','Jun-19');

insert into periods values ('12','2019','Jul-19');

insert into periods values ('13','2019','Adj-19');

insert into periods values ('1','2020','Aug-19');

insert into periods values ('2','2020','Sep-19');

insert into periods values ('3','2020','Oct-19');

insert into periods values ('4','2020','Nov-19');

insert into periods values ('5','2020','Dec-19');

insert into periods values ('6','2020','Jan-20');

insert into periods values ('7','2020','Feb-20');

insert into periods values ('8','2020','Mar-20');

insert into periods values ('9','2020','Apr-20');

insert into periods values ('10','2020','May-20');

insert into periods values ('11','2020','Jun-20');

insert into periods values ('12','2020','Jul-20');

insert into periods values ('13','2020','Adj-20');

insert into periods values ('1','2021','Aug-20');

insert into periods values ('2','2021','Sep-20');

insert into periods values ('3','2021','Oct-20');

insert into periods values ('4','2021','Nov-20');

insert into periods values ('5','2021','Dec-20');

insert into periods values ('6','2021','Jan-21');

insert into periods values ('7','2021','Feb-21');

insert into periods values ('8','2021','Mar-21');

insert into periods values ('9','2021','Apr-21');

insert into periods values ('10','2021','May-21');

insert into periods values ('11','2021','Jun-21');

insert into periods values ('12','2021','Jul-21');

insert into periods values ('13','2021','Adj-21');

I would like to query a result set based on period_num and period_year passed.

If i pass period_year = 2019 and period_num = 12 as starting point and period_year  = 2021 and period_num = 3, then i would like to get everything between these periods (included the passed values too).

user can pass the year as a list ( i can get the first point and last point of time using least and greatest function, but i struggle to get the data between the too ).

Any ideas, please?

Oracle DB:

Oracle DB:

Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production

PL/SQL Release 11.2.0.2.0 - Production

"CORE 11.2.0.2.0 Production"

TNS for 64-bit Windows: Version 11.2.0.2.0 - Production

NLSRTL Version 11.2.0.2.0 - Production

Thanks in advance,

Aleks

This post has been answered by L. Fernigrini on Nov 20 2019
Jump to Answer
Comments
Post Details
Added on Nov 20 2019
9 comments
3,171 views