From: | Jaime Casanova <jaime(at)2ndquadrant(dot)com> |
---|---|
To: | felix gonzales <jfgonzales(at)gmail(dot)com> |
Cc: | Silvio Quadri <silvioq(at)gmail(dot)com>, PostgreSQL <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: consulta tipo balance |
Date: | 2011-05-19 22:11:07 |
Message-ID: | BANLkTi=c7ynn-jG3zdJZ3EkEswZiLsLQcw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
2011/5/19 felix gonzales <jfgonzales(at)gmail(dot)com>:
>
>
> 2011/5/19 Jaime Casanova <jaime(at)2ndquadrant(dot)com>
>>
>> 2011/5/19 felix gonzales <jfgonzales(at)gmail(dot)com>:
>> > gracias Jaime
>> > tu consulta funciona... pero en el caso del max(id) debe ser
>> > el máximo de
>> > los cargos (soryy! esto lo obvie en mi explicación), en tu consulta
>> > obtengo
>> > el máximo de todos los registros (me devuelve 10 debiendo ser 6)
>> >
>> >
>>
>> que haces en el caso de que no hayan cargos? por ejemplo, en G
>>
> se devuelve el registro tal como esta, sin alterar su valor
ya que vas a usar 9.0, en versiones anteriores a la 8.4 usarias una subconsulta
with q as (
select max(case when hab is not null then -1 else id end) as id_deb,
max(id) as id_total, doc,
sum(deb) as sum_deb, sum(hab) as sum_hab
from docs
group by doc
having coalesce(sum(deb), 0) + coalesce(sum(hab), 0) <> 0
)
select case when id_deb = -1 then id_total else id_deb end as id, doc,
sum_deb, sum_hab from q
> por cierto Jaime, recibe un saludo desde la ciudad de la amistad
> Chiclayo-Peru, esperamos verte pronto por acá nuevamente!
>
eso se puede arreglar ;)
--
Jaime Casanova www.2ndQuadrant.com
Professional PostgreSQL: Soporte y capacitación de PostgreSQL
From | Date | Subject | |
---|---|---|---|
Next Message | felix gonzales | 2011-05-19 22:21:48 | Re: consulta tipo balance |
Previous Message | felix gonzales | 2011-05-19 22:08:15 | Re: consulta tipo balance |