valores validar sumar separar saber positivos positivo numeros numero negativos negativo funcion convertir como buscar sql sybase

sql - validar - ¿Cómo separar los números positivos y negativos en sus propias columnas?



sumar numeros positivos y negativos en excel (4)

Tengo una tabla con las siguientes columnas y datos:

activity_dt | activity_amt 2009-01-01 | -500 2009-01-01 | 750

¿Puedo escribir una consulta que observe el signo de activity_amt y la coloque en la columna de créditos si es positiva, y la columna de débitos si es negativa? (Estoy usando Sybase)

activity_dt | debits | credits 2009-01-01 | -500 | 750


Encontré una nueva respuesta a este problema usando la función DECODE . Espero que esto resulte útil para todos.

select activity_dt, sum((DECODE(activity_amt /-ABS(activity_amt), 1, activity_amt, 0))) as credits, sum((DECODE(activity_amt /-ABS(activity_amt), -1, activity_amt, 0))) as debits from the_table group by activity_dt order by activity_dt;


No estoy seguro de la sintaxis exacta en Sybase, pero debería poder agrupar la fecha y resumir los valores positivos y negativos:

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


select (select JV_GroupsHead.GroupTitle from JV_GroupsHead whereJV_GroupsHead.Id=jv.GroupId) as ''GroupName'' ,jv.Revenue ,jv.AccountNo ,jv.AccountNoTitle ,(case when jv.Revenue < 0 then jv.Revenue else 0 end) as ''debits'' ,(case when jv.Revenue> 0 then jv.Revenue else 0 end) as ''credits'' from JVFunction1(''2010-07-08'',''2010-08-08'') as jv


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