sql - Query that returns the sum of accounts specified in another table where accounts to sum or range is defined -


i have table users maintaining, pr. statistical account can define accounts want sum - either specified or range. how can construct view best sums amount pr stat account , month. need somehow pr. account able change clause.

below have 2 tables: dimstataccount , factamount , below expected view

show input tables , expected output view

i stole table loads kevin's answer. can use ability select variables create dynamic sql select statement dimstataccount table.

create table dimstataccount (stataccount varchar(255), accounts varchar(255), accountsrange varchar(255)) insert dimstataccount values   ('stat1', 'in (1000,1020)', null),   ('stat2', 'in (1020,2020)', null),   ('stat3', null, 'between 1000 , 1999'),   ('stat4', null, 'between 2000 , 2999')  create table factamount (account int, [month] varchar(255), amount int) insert factamount values   (1000,'jan',500),   (1000,'feb',460),   (1010,'jan',799),   (1010,'jan',855),   (1010,'feb',633),   (1020,'feb',522),   (2000,'jan',436),   (2000,'jan',946),   (2000,'jan',374),   (2010,'jan',683),   (2010,'feb',492),   (2020,'jan',437),   (2020,'feb',834),   (2030,'jan',944)  declare @sqlstatement nvarchar(max) = '';  select @sqlstatement += concat('select ''',stataccount,''',[month],sum(amount) factamount account ',isnull(accounts,accountsrange),' group [month] union ') dimstataccount ;  set @sqlstatement = left(@sqlstatement,len(@sqlstatement)-10); --remove final union  exec sp_executesql @sqlstatement; 

Comments

Popular posts from this blog

c# - Update a combobox from a presenter (MVP) -

How to understand 2 main() functions after using uftrace to profile the C++ program? -

How to put a lock and transaction on table using spring 4 or above using jdbcTemplate and annotations like @Transactional? -