Re: AYUDA CON SELECT COMPLEJOS

From: Miguel de la Fuente <jmdelafuente(at)yahoo(dot)com(dot)ar>
To: ruben avila galindo <ruben2218(at)hotmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: AYUDA CON SELECT COMPLEJOS
Date: 2006-08-03 00:27:20
Message-ID: 20060803002720.21160.qmail@web52609.mail.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

create table cab_factura
num_fact
tot_fact

create table cab_boleta
num_fact
tot_fact

create table cliente
cod_per
nom_per

Con esta consulta saco los montos totales de cada tabla de cada cliente y lo que quiero unir los dos montos pero no se como hacerlo
y me salen asi la consulta:
JOSE LACHIRA 165.50 <----------->esto es de boleta
JOSE LACHIRA 50.60 <------------>esto es de factura
RUBEN AVILA 150.00
RUBEN AVILA 300.00
y lo que quieren aca en mi empresa es saber el RANKING DE CLIENTES y la consulta deberia mostrar asi:
JOSE LACHIRA 216.10
RUBEN AVILA 450.00

espero que me ayuden amigos postgreanos con esta consulta y como podria hacerlo ya que recien empiezo en esta BD
CONSULTA SELECT :

select p.nom_per,sum(tot_fact) as importe from cab_factura c inner join documentos d on
d.cod_doc=c.cod_doc inner join cliente f on f.cod_cli=d.cod_per inner join persona p on p.cod_per=d.cod_per
where d.cod_per='0200001' group by p.nom_per
union all
select p.nom_per,sum(imp_tot) as importe from cab_boleta g inner join documentos d on
d.cod_doc=g.cod_doc inner join cliente v on v.cod_cli=d.cod_per inner join persona p on p.cod_per=d.cod_per
where d.cod_per='0200001' group by p.nom_per

Si mal no entendí, tendrías que hacer lo siguiente,

select a.nom_per,sum(a.tot_fact) from
(
select p.nom_per,sum(tot_fact) as importe from cab_factura c inner join documentos d on
d.cod_doc=c.cod_doc inner join cliente f on f.cod_cli=d.cod_per inner join persona p on p.cod_per=d.cod_per
where d.cod_per='0200001' group by p.nom_per
union all
select p.nom_per,sum(imp_tot) as importe from cab_boleta g inner join documentos d on
d.cod_doc=g.cod_doc inner join cliente v on v.cod_cli=d.cod_per inner join persona p on p.cod_per=d.cod_per
where d.cod_per='0200001' group by p.nom_per) a

group by a.nom_per


---------------------------------
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
Probalo ya!

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alejandro Gasca 2006-08-03 02:30:29 Re: postgres+net 1.1+sharpdevelop
Previous Message ruben avila galindo 2006-08-03 00:17:00 AYUDA CON SELECT COMPLEJOS