2011/5/19 felix gonzales <jfgonza...@gmail.com>:
>
>
> 2011/5/19 Jaime Casanova <ja...@2ndquadrant.com>
>>
>> 2011/5/19 felix gonzales <jfgonza...@gmail.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
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a