Использование нескольких таблиц в iReport - PullRequest
3 голосов
/ 13 октября 2010

Я хочу создать отчет, который должен вызывать несколько полей из разных таблиц.Из того, что я читал в Интернете, единственный способ сделать это - иметь подотчеты.

Это правда, или есть способ, которым я могу выполнить несколько запросов к разным таблицам для получения данных?

1 Ответ

5 голосов
/ 13 октября 2010

Когда вам нужно выполнить несколько запросов, у вас есть следующие опции:

  • Использовать вложенные отчеты.Это самый старый (поддерживаемый с JasperReports 1.x) и самый мощный метод, поскольку он позволяет вам делать практически все с результатами вашего второго запроса.Однако это также трудоемко, и когда у вас есть более одного или двух вложенных отчетов, он быстро становится неуправляемым.

  • Используйте наборы данных.Это позволяет вам выполнить отдельный запрос, набор результатов можно использовать в ограниченном наборе компонентов ( диаграммы , о которых я знаю)

  • Использовать таблицы.Они довольно новые (представлены в JasperReports 3.7) и позволяют вам запускать отдельный запрос для заполнения определенной таблицы.

Мой опыт показывает, что в большинстве случаев вам не требуется несколько запросов.Большинство случаев может быть обработано одним четко определенным запросом SQL.Если вам нужны данные из нескольких таблиц, вы можете тщательно объединить их в одном запросе.

...