Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
pavlo1c Member Откуда: Россия Сообщений: 112 |
Всем привет, задали такую задачку 2 дня бьюсь не могу придумать, никто не сталкивался? Суть следующая: Есть строки и колонки, строки пока не трогаем, нужно скажем вывести шапку отчета. Группировка по колонкам может идти по 2-3-4 группировкам. И это не проблема, НО подавай на каждом уровне, по каждой группировке итог. Причем на последнем смысла нет и его там нет. Есть скажем Компания, Контрагент, Договор (по строкам будет номенклатура, но не суть сейчас) - нужно вывести так: Пример для 3 группировок во вложении. если бы не итоги, то приблизительно такой запрос бы решал вопрос, но выводя каждую строку уровня, как бы заранее нужно знать сколько колонок будет на всех уровнях в целом с учетом итогов :( Кто то решал такую задачу? Есть идеи? select Компания,Контрагент,Договор, sum(1) as Кол from #ОТЧЕТ group by Компания,Контрагент,Договор with ROLLUP К сообщению приложен файл. Размер - 5Kb |
15 фев 16, 11:01 [18816808] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
То, что вы "нарисовали" в качестве результата, на TSQL не делают. Это делают в системах отчета |
||
15 фев 16, 11:04 [18816814] Ответить | Цитировать Сообщить модератору |
pavlo1c Member Откуда: Россия Сообщений: 112 |
Ну я рисовать на собираюсь в скуле, просто мне нужно как то получить количество элементов группировок на каждом уровне. |
15 фев 16, 11:11 [18816855] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Просто вам нужно оформить свой вопрос так, как сказано в Рекомендациях по оформлению |
||
15 фев 16, 11:15 [18816888] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47049 |
|
||
15 фев 16, 11:18 [18816904] Ответить | Цитировать Сообщить модератору |
pavlo1c Member Откуда: Россия Сообщений: 112 |
Glory, Ну тогда как получить количество элементов группировок на каждом уровне с учетом фильтра. Скажем если я укажу условие where по значению первой группировки, то нужно вернуть (первая будет 1) остальные сколько на каждом уровне именно сгруппированных элементов. |
15 фев 16, 11:20 [18816915] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Вы в состоянии открыть прикрепленную тему Рекомнедации по офомоению сообщений ? Найти там пункты 4 и 6 ? Прочитать их ? Выполнить их ? |
||
15 фев 16, 11:21 [18816922] Ответить | Цитировать Сообщить модератору |
pavlo1c Member Откуда: Россия Сообщений: 112 |
спасибо сработало бы походу, но скуль то 2к (сорри что не указал :( ) |
||||
15 фев 16, 11:32 [18817000] Ответить | Цитировать Сообщить модератору |
pavlo1c Member Откуда: Россия Сообщений: 112 |
pavlo1c, Я бы не парился, выгрузил бы в csv, а там пусть екселем в сводной, НО им тогда по строкам (строчная группировка) по каждой такой группировке в строке нужно выводить итоги по валютам. Потому решил клиентом делать и рисовать. |
15 фев 16, 11:42 [18817065] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Пока что вы парите других. У вас есть конкретный вопрос по MSSQL? |
||
15 фев 16, 11:47 [18817102] Ответить | Цитировать Сообщить модератору |
pavlo1c Member Откуда: Россия Сообщений: 112 |
Glory, Ну я же писал: только добавится для базы в совместимости с 2к
|
||
15 фев 16, 11:56 [18817171] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Чукча - не читатель, чукча - писатель. |
||
15 фев 16, 12:00 [18817195] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8317 |
pavlo1c, фильтр по группировке - это having. |
15 фев 16, 12:10 [18817268] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |