Отчет с группами

отредактировано 04:52 Раздел: FastReport 4.0
Есть sql запрос вида
select * from parent
left join child1 on child1.parent_id = parent.id
left join child2 on child2.parent_id = parent.id

Нужно отобразить для каждой записи parent записи child1 и child2.

Пытаюсь это сделать с помощью групп
ДОбавляю GroupHeader c condition="parent.id". После него добавляю MasterData1 с полями из child1. Добавляю MasterData2 с полями child2.

Пример записей в таблицах
parent:
id name
1 abc
2 def
3 jkl

child1:
parent_id col1
1 foo
1 bar
2 xyz

child2:
parent_id col2
1 opz
3 jkl



В результате получается:

(GroupHeader)1 abc
(MasterData1)1 foo
(MasterData1)1 bar

(GroupHeader)2 def
(MasterData1)2 xyz

(GroupHeader)3 jkl

(MasterData2)1 opz
(MasterData2)3 opz


Нужен результат:

(GroupHeader)1 abc
(MasterData1)1 foo
(MasterData1)1 bar
(MasterData2)1 opz

(GroupHeader)2 def
(MasterData1)1 xyz

(GroupHeader)3 jkl
(MasterData2)3 opz

Комментарии

  • pkapka
    отредактировано March 2014
    1.Вы результат Вашего запроса видели?
    2.А что собственно выводится в MasterData?
  • отредактировано March 2014
    pka написал: »
    1.Вы результат Вашего запроса видели?
    2.А что собственно выводится в MasterData?

    Мне для каждой записи(master) в parent нужно вывести запись(slave) cначало из child1, а потом из child2. Пока получается выводить все парты parent-slave для chil1, , а потом все записи parent - сhil2
  • отредактировано 04:52
    Пришлите шаблон отчёта (fr3) и в Ворде - то, что должно получиться.
  • pkapka
    отредактировано March 2014
    elserpiente написал: »
    Мне для каждой записи(master) в parent нужно вывести запись(slave) cначало из child1, а потом из child2. Пока получается выводить все парты parent-slave для chil1, , а потом все записи parent - сhil2
    То есть, в результате запроса вам нужно получить(значения привожу из вашего примера)
    parent_id,      parent_name,       child_col
         1                 abc           foo
         1                 abc           bar
         1                 abc           opz
         2                 def           xyz
         3                 jkl           jkl
    

    проблема не в отчете, проблема в запросе.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.