SQL Потяните TY и LY в столбцы в одной строке - PullRequest
0 голосов
/ 15 марта 2020

Я не так хорош с SQL, но здесь мы go. Я пытался вытянуть количество sku для TY и LY по неделям и разместить их в отдельных столбцах, но в одной строке в зависимости от другой переменной ... Т.е. ..

          Week    TY         LY
ABC        6       30         50
ABC        5      100         20
ABC        4       25         25
Select
    A.Store,
    B.Week_Num
    COUNT(A.ABC) AS TY,
    COUNT(A.ABC) AS LY
FROM [Table] O360
join Date D on D.Week_num = O360.Week_num

Код упрощен выше. Проблема в том, что я пытаюсь позвонить на последние 3 субботы и субботу, которая составляет 371 день перед каждым, чтобы представлять LY .... любая помощь была бы удивительной.

1 Ответ

0 голосов
/ 15 марта 2020

Я подозреваю, что вы хотите lag(). Если у вас есть данные за каждую неделю, то:

SELECT t.Store, d.Week_Num,
       COUNT(*) AS TY,
       LAG(COUNT(*), 53) OVER (PARTITION BY t.Store, d.Week_num) AS LY
FROM [Table] t JOIN
     Date D 
     ON D.Week_num = t.Week_num
GROUP BY t.Store, d.Week_Num;
...