Sqlserver
 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да преместя pandas DataFrame в таблицата на Microsoft SQL Server?

  2. Защо се появи грешка, свързана с мрежата или специфична за екземпляр, при установяване на връзка със SQL Server?

  3. SQL Server 2016:Създайте съхранена процедура

  4. Как да възстановите база данни на SQL Server на Mac с помощта на SQL Operations Studio

  5. Как да получите списък с начална дата на седмицата (понеделник) и крайна дата (неделя) между две дати?