Oracle SQL - отображение 5 страниц на jasper
Как я могу напечатать всего 5 страниц только на основе этого запроса ниже. Он иногда отображает полный месяц или даже 4 дня, когда я пробую следующие даты и игнорирую фактический диапазон дат. Запрос связан с Jasper и передает диапазон дат в качестве параметров
to_date('16032020','DDMMYYYY') - to_date('20032020','DDMMYYYY') to_date('23032020','DDMMYYYY') - to_date('27032020','DDMMYYYY') to_date('30032020','DDMMYYYY') - to_date('03042020','DDMMYYYY') to_date('06042020','DDMMYYYY') - to_date('10042020','DDMMYYYY')
Параметр Яшмы[^]
Фактический Запрос
select e.employee_id, e.initials || ' ' || regexp_replace(e.surname, '\([^()]*\)', '') farm_manager, r.research_station_id, r.name, dr.attendance_date attendance_date from research_station r join employees e on (e.employee_id = r.farm_manager) cross join (select ($P{Date_from} + rownum - 1) attendance_date from dual connect by level <= ($P{Date_from} - sysdate + 1)) dr join employee_jobs ej on (e.employee_id = ej.employee_id) where r.research_station_id = $P{Research_Station_id}
Что я уже пробовал:
Тестовый Запрос
select e.employee_id, e.initials || ' ' || regexp_replace(e.surname, '\([^()]*\)', '') farm_manager, r.research_station_id, r.name, dr.attendance_date attendance_date from research_station r join employees e on (e.employee_id = r.farm_manager) cross join (select (to_date('16032020','DDMMYYYY') + rownum - 1) attendance_date from dual connect by level <= to_date('20032020','DDMMYYYY') - sysdate + 1) dr join employee_jobs ej on (e.employee_id = ej.employee_id) where r.research_station_id = 2;
Jörgen Andersson
Обычно вы ограничиваете количество строк, используя OFFSET FETCH NEXT.
Если у вас есть более старая версия oracle, вам нужно использовать Rownum.
Какая версия вашего Оракула?