Отчет с группами
Есть 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
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
Комментарии
2.А что собственно выводится в MasterData?
Мне для каждой записи(master) в parent нужно вывести запись(slave) cначало из child1, а потом из child2. Пока получается выводить все парты parent-slave для chil1, , а потом все записи parent - сhil2
проблема не в отчете, проблема в запросе.