如何将正数和负数分成自己的列?

Mik*_*ler 19 sql sybase

我有一个包含以下列和数据的表:

activity_dt | activity_amt
 2009-01-01 |   -500
 2009-01-01 |    750
Run Code Online (Sandbox Code Playgroud)

我可以编写一个查看符号的查询,activity_amt如果它是正数则将其放入信用列中,如果是负数则可以将其存入借方列吗?(我正在使用Sybase)

activity_dt | debits | credits
 2009-01-01 |  -500  |   750
Run Code Online (Sandbox Code Playgroud)

小智 37

select activity_dt, 
    sum(case when activity_amt < 0 then activity_amt else 0 end) as debits, 
    sum(case when activity_amt > 0 then activity_amt else 0 end) as credits
from the_table
group by activity_dt
order by activity_dt
Run Code Online (Sandbox Code Playgroud)


Guf*_*ffa 5

我不确定Sybase中的确切语法,但您应该能够对日期进行分组并总结正值和负值:

select
  activity_dt,
  sum(case when activity_amt < 0 then activity_amt else 0 end) as debits,
  sum(case when activity_amt >= 0 then activity_amt else 0 end) as credits
from
  theTable
group by
  activity_dt
Run Code Online (Sandbox Code Playgroud)