簡體   English   中英

T-SQL select 語句將行中的值重新分配到 n 行

[英]T-SQL select statement to redistribute value in row into n rows

我有一個像(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
...

我怎樣才能達到那樣的目標?

您可以使用生成四行的硬編碼查詢加入查詢:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM