T- SQL оператор выбора для перераспределения значения в строке в n строк - PullRequest
1 голос
/ 26 февраля 2020

У меня есть таблица типа (SQL Server 2016):

    ID    Month      Sales
    1     Jan 2019   40
    2     Feb 2019   80
    3     Mar 2019   400

...

хотел бы перераспределить продажи по неделям (здесь мы можем предположить, что каждый месяц составляет 4 недели), например:

ID    Month      Sales
1     012019     10
1     022019     10
1     032019     10
1     042019     10
2     052019     20
2     062019     20
2     072019     20
2     082019     20
3     092019     100
3     102019     100
3     112019     100
3     122019     100
...

Как мне достичь этого?

1 Ответ

2 голосов
/ 26 февраля 2020

Вы можете объединить запрос с жестко закодированным запросом, который генерирует четыре строки:

SELECT     id, month, sales / 4
FROM       mytable
CROSS JOIN (SELECT 1 AS col 
            UNION ALL
            SELECT 2
            UNION ALL
            SELECT 3
            UNION ALL
            SELECT 4) t
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...