sql >> データベース >  >> RDS >> Sqlserver

予測年のデータを行から列に表示するにはどうすればよいですか?

    これを試してみてください。動的 SQL を使用する必要があります

    Declare @toyear int=2016
    Declare @forcast int=10
    Declare @t table (ITEM varchar(50), years int, qty int)
    insert into @t
    select 'TM-A' ITEM , 2013 years, 100 qty
    union all
    select 'TM-B' ITEM , 2013 years, 200 qty
    
    ;with CTE1 as
    (
    select * from @t
    union all
    select b.ITEM,b.years+1,b.qty+((@forcast*b.qty)/100) from @t a 
    inner join cte1 b on a.ITEM=b.ITEM 
    and b.years<@toyear
    )
        select * from
    (select  * from cte1 )t4
    pivot(min(qty) for years in([2013],[2014],[2015],[2016]))pvt
    


    1. プログラムでpostgreSQLデータベースを作成する

    2. ClearDBでMySQLエンジンのバージョンを更新するにはどうすればよいですか?

    3. 分析機能が機能するように、後続のAPのゼロ値レコードを動的に追加します

    4. MySQL挿入ステートメントキュー