Выполнение функции SQL для одного столбца на основе нескольких внешних ключей

StackOverflow https://stackoverflow.com/questions/19826766

Вопрос

Я столкнулся с этой проблемой при попытке разработать проект многомерной базы данных.По сути, у меня есть таблица фактов (sale_fact), которая содержит суррогатный ключ, несколько внешних ключей (pid для идентификатора продукта, cid для идентификатора страны и даты) и данные о продажах.Детализация этой таблицы фактов осуществляется ежедневно.Как суммировать данные о продажах за недели (или месяцы) в зависимости от различных комбинаций этих внешних ключей?Например, я хочу суммировать данные о продажах продукта 1 в стране 1 на этой неделе (pid = 1, cid = 1 и дата = понедельник), данные о продажах продукта 2 в стране 2 на той же неделе (pid = 2 и cid = 2 и дата = понедельник).Как мне получить эти данные в одном SQL?Пример набора результатов будет выглядеть так:

    | id | pid | cid |     date     | total |
    | 1  |  1  |  1  |  2013-11-04  |   100 |
    | 2  |  1  |  2  |  2013-11-04  |  90   |
    | 3  |  1  |  3  |  2013-11-04  |  80   |
    | 4  |  2  |  1  |  2013-11-04  |  91   |

......more data
Это было полезно?

Решение

Почему бы вам не использовать что-то вроде выбора суммы (продаж) как «всего» из таблицы, где дата = понедельник, группа по pid, cid...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top