Topic: Сложный отчет в FastReport
Добрый день! Не вытерпел, сил уже нет самостоятельно разобраться с данной проблемой. Ситуация такова: необходимо составить отчет с кучей независящих друг от друга диаграмм. Создаю отчет с длинющим sql-запросом, в котором создаются таблички (путем создания и объединения полей посредством UNION). Если я правильно понял (пожалуйста поправьте меня, если я ошибаюсь!) то результатом sql-запроса является одна большая таблица, которую я собираю путем соединения своих табличек оператором JOIN (ну или просто используя запятую). В результате получается умопомрачительная CROSS таблица (это когда каждой строке каждого поля одной таблицы, соответствует каждая строка каждого поля всех других таблиц, так называемое декартово произведение). Для того чтобы получить то что я хочу - чтобы тупо таблички A, B, C... G просто выстроились передо мной в шеренгу без программного спаривания друг с другом, были введены поля idA, idB... idG (что-то вроде id строк) и заполнены вручную
select ...
"1" as idA
...
select ...
"2" as idA
и т.д.
Так как таблички различаются по числу строк, то чтобы таблица (как результат всего запроса) имела количество строк равное максимальному из всех табличек, приходится добавлять в маленькие таблички дополнительные строки с пустыми ячейками посредством NULL.
Далее в запросе прописываем условие
WHERE idA=idB and idA=idC ... and idA=idG
и о чудо, наконец-то я получил то что хотел:
Здесь вы видите пустые ячейки, если бы я их не вводил, то по условию WHERE строк с id равными 3 и 4 не было бы, т.е. таблица A потеряла бы часть своих данных.
Казалось бы, можно радоваться, целовать жену, бежать за пивом, но:
Меня это не устраивает! Гугл в помощь, пишут что это не беда, достаточно снять галочку тут:
И поставить тут:
Но почему-то это не работает. Устал от танцев с бубнами, что я делаю не так? Укажите нужное направление. Кто делал сложные отчеты - дайте пожалуйста исходники, чтобы посмотреть как это правильно делать.