Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
GROUP BY CUBE (ROLLUP, GROUPING SETS)
|
|||
|---|---|---|---|
|
#18+
Профессионалы, помогите пожалуйста. Бился, не смог разобраться. У меня есть факты продаж в разрезе продукты по годам. Задача вывести агрегаты продаж в двухмерных куб одним селектом: SELECT product_id, year_id, sum( sales_fact ) FROM tbl_sales GROUP BY ROLLUP (product_id, year_id) меня устраивает, так как возвращает то что нужно: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Но проблемы начинаются, когда по какому то продукту нет продаж в каком то году, тогда эта строка пропускается. Например, если в 2012 году не было продаж по продукту № 1, то тогда строка № 2 исчезает, и получится: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Вопрос к профи, как составить селект так, что бы при отсутствии какого то факта продаж в кубе в этом сочетании измерений был бы выведен NULL ? То есть чтобы при отсутствии продаж продукта № 1 в 2012 году получилось вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Документацию по CUBE, ROLLUP, GROUPING SETS читал, но решения не нашел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 11:18 |
|
||
|
GROUP BY CUBE (ROLLUP, GROUPING SETS)
|
|||
|---|---|---|---|
|
#18+
Ru2000То есть чтобы при отсутствии продаж продукта № 1 в 2012 году получилось вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Опечатка, здесь должен быть 2012 год, то есть вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 11:22 |
|
||
|
GROUP BY CUBE (ROLLUP, GROUPING SETS)
|
|||
|---|---|---|---|
|
#18+
Ru2000, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 05:37 |
|
||
|
GROUP BY CUBE (ROLLUP, GROUPING SETS)
|
|||
|---|---|---|---|
|
#18+
drsm Код: sql 1. 2. 3. 4. Спасибо! Красиво! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2018, 23:55 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=39645838&tid=1995772]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
72ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 12ms |
| total: | 176ms |

| 0 / 0 |
