Группы, чтобы показать отношения многие-к-одному - PullRequest
4 голосов
/ 11 марта 2011

Мне нужно создать JasperReport в iReport, который перечисляет информацию о сотрудниках, включая информацию о степени и сертификации.Мой запрос возвращает все данные, которые мне нужны (я думаю), но я не могу понять, как сделать группы и / или детали в IReport, чтобы он отображался так, как мне нужно.

Вот мой запрос:

select e.eid, e.first_name, e.last_name, 
       d.degree_date, d.degree_name, 
       c.cert_date, c.cert_name
from employees e, degrees d, certifications c
where e.eid = d.eid
and e.eid = c.eid

Вот результаты:

1234, John, Smith, 01/01/2010, MCSE, 4/4/2001, B.S. Information Systems
1234, John, Smith, 01/01/2010, MCSE, 5/5/2004, M.S. Comupter Science
1234, John, Smith, 03/01/2010, CISSP, 4/4/2001, B.S. Information Systems 
1234, John, Smith, 03/01/2010, CISSP, 5/5/2004, M.S. Comupter Science
1235, John, Rolph, 01/01/2010, Pottery Instruction, 6/6/2001, B.A. Fine Arts 
1235, John, Rolph, 01/01/2010, Pottery Instruction, 7/7/2004, M.S. Education
1235, John, Rolph, 03/01/2010, Adv Pottery, 6/6/2001, B.A. Fine Arts
1235, John, Rolph, 03/01/2010, Adv Pottery, 7/7/2004, M.S. Education

Мне нужно, чтобы отчет отображался так:

Employee ID Employee Name
1234    John Smith
        Certifications:
        01/01/2010 MCSE
        03/01/2010 CISSP
        Degrees:
        4/4/2001 B.S. Information Systems
        5/5/2004 M.S. Comupter Science

1235    John Rolph
        Certifications:
        01/01/2010 Pottery Instruction
        03/01/2010 Adv Pottery
        Degrees:
        6/6/2001 B.S. B.A. Fine Arts
        7/7/2004 M.S. Education     

Дайте мне знать, если у вас есть какие-либо предложения.

1 Ответ

1 голос
/ 13 марта 2011

Как рекомендует DaDaDom, используйте один отчет и два подотчета:

Отчет 1 - Лицо

1234    John Smith

Подотчет 1.1 - Сертификаты

        01/01/2010 MCSE
        03/01/2010 CISSP

Подотчет 1.2 - Степени

        4/4/2001 B.S. Information Systems
        5/5/2004 M.S. Comupter Science

Объединенные результаты

Затем:

  1. Добавить группу группы в основной отчет.
  2. Group By идентификатор сотрудника.
  3. Включите вложенный отчет «Сертификаты» в диапазон Группы.
  4. Включите вложенный отчет «Степени» в диапазон Группы.
  5. Передайте идентификатор сотрудника из основного отчета в подчиненные отчеты.
  6. Попросите каждый вложенный отчет запрашивать необходимую информацию на основе полученного параметра ID сотрудника.
...