Постоянно требуется разработка всё более сложных запросов по просьбам отдела статистики и тому подобных.
Хочу попросить народ поделиться опытом построения таких сложных отчётов:
столбцы:
просыпающиеся | зеленоглазые | программисты | сидящие в красном | Всего
до 12 | | | кресле |
строки: |
Васи | 20 | 8 |
Миши | 10 | 6 |
Пети до 25 лет | 45 | 1 | и т.д...
Зелёные Васи | 18 | 3 |
Миши и Пети старше 40 | 12 | 15 |
из них посетивших Кипр| 4 | 2 |
Разумеется все данные нафантазированы.
как можно написать такой запрос?
В кристале подобный отчёт написан плоско - выдаёт кучу столбцов, каждый из которых высчитывается отдельно а потом ещё и суммируется и получается что выдаётся развёрнутая в одну строку данная таблица, а кристал её просто форматирует.
Некоторые мои коллеги пишут один запрос итоговый (и я склоняюсь к такому) - одну строчку таблицы, а потом с помощью union all делают кучу строк по образу и подобию включая в каждую дополнительные условия.
Ещё коллеги сделали процедуру генерящую запрос, который возвращает одну строку таблицы, потом вызывают эту процедуру с разными условиями получают результат (по мне так тот же юньон олл)
Может кто-то делает более хитрые, и элегантные конструкции? Поделитесь опытом.
Хочу попросить народ поделиться опытом построения таких сложных отчётов:
столбцы:
просыпающиеся | зеленоглазые | программисты | сидящие в красном | Всего
до 12 | | | кресле |
строки: |
Васи | 20 | 8 |
Миши | 10 | 6 |
Пети до 25 лет | 45 | 1 | и т.д...
Зелёные Васи | 18 | 3 |
Миши и Пети старше 40 | 12 | 15 |
из них посетивших Кипр| 4 | 2 |
Разумеется все данные нафантазированы.
как можно написать такой запрос?
В кристале подобный отчёт написан плоско - выдаёт кучу столбцов, каждый из которых высчитывается отдельно а потом ещё и суммируется и получается что выдаётся развёрнутая в одну строку данная таблица, а кристал её просто форматирует.
Некоторые мои коллеги пишут один запрос итоговый (и я склоняюсь к такому) - одну строчку таблицы, а потом с помощью union all делают кучу строк по образу и подобию включая в каждую дополнительные условия.
Ещё коллеги сделали процедуру генерящую запрос, который возвращает одну строку таблицы, потом вызывают эту процедуру с разными условиями получают результат (по мне так тот же юньон олл)
Может кто-то делает более хитрые, и элегантные конструкции? Поделитесь опытом.
Aucun commentaire:
Enregistrer un commentaire