Сообщение Pivot таблица с итогами по строкам и столбцам от 19.04.2016 12:08
Изменено 19.04.2016 12:11 D_Tony
Привет!
Есть — как результат запроса таблица вида:
где, чтоб Вы поняли — поле выборки — это или название продукта, поставляемого дилеруХ, или поле TOTAL,
описывающее промежуточный подитог по этому дилеру. Т.е. сколько он всего продуктов получил.
Поле "Имя дилера" по всей таблице гарантированно содержит список всех дилеров.
Т.е. даже если ничего поставлено не было — то мы будем иметь это:
А вот поле выборки в случае, если оно представляет собой название продукта, поставляемого дилеруХ, то
оно не содержит обязательно ВСЕ названия всех продуктов. Из таблицы выше собственно это видно.
Продукт2, Продукт5, Продукт6, Продукт7 — их нет. Всего продуктов — 8 наименований, к примеру.
Задача. Получить сводную таблицу по данным, имеющимся в первой таблице (результат работы некоего запроса)
и по ВСЕМ данным из таблицы НазваниеПродукта — т.е. надо учесть даже не выданные продукты дилерам.
Требуемый итоговый пример вот:
КАК этого добиться? Кол-во дилеров и наименований продуктов — нестатичные и заранее неизвестные.
Мне только гарантируют, что в запросе №1 в результате точно будут все дилеры, но не все продукты.
Т.е. все оставшиеся наименования продуктов я должен при создании Pivot таблицы донабрать select'ом
из таблицы НазваниеПродукта.
oracle 11g.
Есть — как результат запроса таблица вида:
Имя дилера | Поле выборки | Кол-во выборки |
---|---|---|
Дилер1 | Продукт1 | 3 |
Дилер1 | TOTAL | 3 |
Дилер2 | Продукт3 | 2 |
Дилер2 | Продукт4 | 5 |
Дилер2 | TOTAL | 7 |
Дилер3 | Продукт3 | 1 |
Дилер3 | Продукт8 | 1 |
Дилер3 | TOTAL | 2 |
описывающее промежуточный подитог по этому дилеру. Т.е. сколько он всего продуктов получил.
Поле "Имя дилера" по всей таблице гарантированно содержит список всех дилеров.
Т.е. даже если ничего поставлено не было — то мы будем иметь это:
ДилерУ | TOTAL | 0 |
оно не содержит обязательно ВСЕ названия всех продуктов. Из таблицы выше собственно это видно.
Продукт2, Продукт5, Продукт6, Продукт7 — их нет. Всего продуктов — 8 наименований, к примеру.
Задача. Получить сводную таблицу по данным, имеющимся в первой таблице (результат работы некоего запроса)
и по ВСЕМ данным из таблицы НазваниеПродукта — т.е. надо учесть даже не выданные продукты дилерам.
Требуемый итоговый пример вот:
Имя дилера | Продукт1 | Продукт2 | Продукт3 | Продукт4 | Продукт5 | Продукт6 | Продукт7 | Продукт8 | Итого |
---|---|---|---|---|---|---|---|---|---|
Дилер1 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 |
Дилер2 | 0 | 0 | 2 | 5 | 0 | 0 | 0 | 0 | 7 |
Дилер3 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 2 |
Итого | 3 | 0 | 3 | 5 | 0 | 0 | 0 | 1 | 12 |
Мне только гарантируют, что в запросе №1 в результате точно будут все дилеры, но не все продукты.
Т.е. все оставшиеся наименования продуктов я должен при создании Pivot таблицы донабрать select'ом
из таблицы НазваниеПродукта.
oracle 11g.
Pivot таблица с итогами по строкам и столбцам
Привет!
Есть — как результат запроса таблица вида:
где, чтоб Вы поняли — поле выборки — это или название продукта, поставляемого дилеруХ, или поле TOTAL,
описывающее промежуточный подитог по этому дилеру. Т.е. сколько он всего продуктов получил.
Поле "Имя дилера" по всей таблице гарантированно содержит список всех дилеров.
Т.е. даже если ничего поставлено не было — то мы будем иметь это:
А вот поле выборки в случае, если оно представляет собой название продукта, поставляемого дилеруХ, то
оно не содержит обязательно ВСЕ названия всех продуктов. Из таблицы выше собственно это видно.
Продукт2, Продукт5, Продукт6, Продукт7 — их нет. Всего продуктов — 8 наименований, к примеру.
Задача. Получить сводную таблицу по данным, имеющимся в первой таблице (результат работы некоего запроса)
и по ВСЕМ данным из таблицы НазваниеПродукта — т.е. надо учесть даже не выданные продукты дилерам.
Требуемый итоговый пример вот:
КАК этого добиться? Кол-во дилеров и наименований продуктов — нестатичные и заранее неизвестные.
Мне только гарантируют, что в запросе №1 в результате точно будут все дилеры, но не все продукты.
Т.е. все оставшиеся наименования продуктов я должен при создании Pivot таблицы донабрать select'ом
из таблицы НазваниеПродукта.
oracle 11g.
Есть — как результат запроса таблица вида:
Имя дилера | Поле выборки | Кол-во выборки |
---|---|---|
Дилер1 | Продукт1 | 3 |
Дилер1 | TOTAL | 3 |
Дилер2 | Продукт3 | 2 |
Дилер2 | Продукт4 | 5 |
Дилер2 | TOTAL | 7 |
Дилер3 | Продукт3 | 1 |
Дилер3 | Продукт8 | 1 |
Дилер3 | TOTAL | 2 |
описывающее промежуточный подитог по этому дилеру. Т.е. сколько он всего продуктов получил.
Поле "Имя дилера" по всей таблице гарантированно содержит список всех дилеров.
Т.е. даже если ничего поставлено не было — то мы будем иметь это:
ДилерУ | TOTAL | 0 |
оно не содержит обязательно ВСЕ названия всех продуктов. Из таблицы выше собственно это видно.
Продукт2, Продукт5, Продукт6, Продукт7 — их нет. Всего продуктов — 8 наименований, к примеру.
Задача. Получить сводную таблицу по данным, имеющимся в первой таблице (результат работы некоего запроса)
и по ВСЕМ данным из таблицы НазваниеПродукта — т.е. надо учесть даже не выданные продукты дилерам.
Требуемый итоговый пример вот:
Имя дилера | Продукт1 | Продукт2 | Продукт3 | Продукт4 | Продукт5 | Продукт6 | Продукт7 | Продукт8 | TOTAL |
---|---|---|---|---|---|---|---|---|---|
Дилер1 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 |
Дилер2 | 0 | 0 | 2 | 5 | 0 | 0 | 0 | 0 | 7 |
Дилер3 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 2 |
Итого | 3 | 0 | 3 | 5 | 0 | 0 | 0 | 1 | 12 |
Мне только гарантируют, что в запросе №1 в результате точно будут все дилеры, но не все продукты.
Т.е. все оставшиеся наименования продуктов я должен при создании Pivot таблицы донабрать select'ом
из таблицы НазваниеПродукта.
oracle 11g.