How to show data from rows into columns in SQL Server -


i have written sql query data table. query is:

select      terminal_group_name, stn, payment_mode_name, ra_amount      #t      view_financial_report_2      trdate >= convert(varchar, cast('2017-09-11' date), 111)     , trdate <= convert(varchar, cast('2017-09-11' date), 111);  select      sum(t.ra_amount) val, t.payment_mode_name, t.stn        #t t  group      t.payment_mode_name, t.stn  drop table #t; 

output of sql query is:

val | payment_mode_name | stn 5000| cash              | city1 2000| foc               | city1 1500| cash              | city2 

however want data in following format:

stn  | cash amount | foc amount city1| 5000        | 2000 city2| 1500        | 0 

can me query?

ps: have tried use pivot query query throws deadlock exception:

select   terminal_group_name  ,stn  ,isnull([cash], 0) cash  ,isnull([to pay], 0) topay  ,isnull([to pay collection], 0) topaycollection  ,isnull([credit], 0) credit  ,isnull([foc], 0) foc  ,isnull([advance], 0) advance  ,isnull([customer receipt], 0) customerreceipt (select     terminal_group_name    ,stn    ,payment_mode_name    ,ra_amount   view_financial_report_2   trdate >= convert(varchar, cast('2017-09-11' date), 111)   , trdate <= convert(varchar, cast('2017-09-11' date), 111)) ps pivot (sum(ra_amount) payment_mode_name in ([cash], [to pay], [credit], [foc], [customer receipt], [to pay collection], [advance])) pvt; 

view_financial_report_2:

select     dbo.tbl_terminal_group.terminal_group_name, dbo.view_financial_report_1.stid, dbo.view_financial_report_1.stn, dbo.view_financial_report_1.trdate,                        dbo.view_financial_report_1.payment_mode_name, dbo.view_financial_report_1.ra_amount, dbo.view_financial_report_1.rd_amount         dbo.tbl_terminal_group inner join                       dbo.tbl_terminal_master on dbo.tbl_terminal_group.terminal_group_id = dbo.tbl_terminal_master.terminal_group_id inner join                       dbo.view_financial_report_1 on dbo.tbl_terminal_master.terminal_id = dbo.view_financial_report_1.stid; 

view_financial_report_1:

select     stid, stn, convert(varchar(10), booking_datetime, 111) trdate, payment_mode_name, sum(ra_amount) ra_amount, sum(rd_amount)                        rd_amount         dbo.view_booking_summary group stid, stn, booking_datetime, payment_mode_name union select     source_terminal_id, source_terminal_name, convert(varchar(10), edit_date, 111) trdate, payment_mode_name, sum(ra_amount * - 1) ra_amount,                        sum(rd_amount * - 1) rd_amount         view_booking_cancel group source_terminal_id, source_terminal_name, edit_date, payment_mode_name union select     dtid, dtn, convert(varchar(10), delivery_datetime, 111) trdate, 'cash' payment_mode_name, sum(rasr_amount) ra_amount, sum(rdsr_amount)                        rd_amount         view_delivery_master_report     rasr_amount > 0 group dtid, dtn, delivery_datetime, payment_mode_name union select     dtid, dtn, convert(varchar(10), delivery_datetime, 111) trdate, 'cash' payment_mode_name, sum(rast_amount) ra_amount, sum(rdst_amount)                        rd_amount         view_delivery_master_report     rast_amount > 0 group dtid, dtn, delivery_datetime, payment_mode_name union select     dtid, dtn, convert(varchar(10), delivery_datetime, 111) trdate, 'to pay collection' payment_mode_name, sum(rd_amount) ra_amount,                        sum(rd_amount) rd_amount         view_delivery_master_report     rd_amount > 0 group dtid, dtn, delivery_datetime union select     dtid, dtn, convert(varchar(10), tdate, 111) trdate, 'cash' payment_mode_name, sum(amount) ra_amount, sum(amount) rd_amount         view_old_software_sale group dtid, dtn, tdate union select  terminal_id, terminal_name, convert(varchar(10), payment_date, 111) trdate, 'customer receipt' payment_mode_name, sum(total) ra_amount, sum(total) rd_amount view_customer_payment_master group terminal_id, terminal_name, convert(varchar(10), payment_date, 111) 

try query -

select t.stn       ,sum(case when t.payment_mode_name = 'cash' t.ra_amount)       ,sum(case when t.payment_mode_name = 'foc' t.ra_amount)  #t t  group  t.stn 

Comments

Popular posts from this blog

Sort a complex associative array in PHP -

vb.net - How to ignore if a cell is empty nothing -

recursion - Can every recursive algorithm be improved with dynamic programming? -