Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Unir los campos de dos consultas (https://www.clubdelphi.com/foros/showthread.php?t=83168)

Choclito 17-05-2013 22:40:47

Unir los campos de dos consultas
 
Buenas tardes amigos del foro, trabajo con firebird, delphi 7 ,qreport, estoy haciendo un sistema de personal donde tengo que generar boletas de pago, para eso tengo e tablas , personal, descuentos, bonos
entonces tengo dos procedimientos almacenados uno para ver los descuentos del personal y otro para ver sus ingresos o bonos , ahora lo que quisiera es unir los dos SP pero unir sus campos, en cada uno tengo un campo comun.
El SP de descuentos me muestra lo siguiente
Código SQL [-]
select d.codigo,d.nombre,d.descuento,d.monto
from descuentos (:codigo,:mes,:anio) d
el SP de bonos me muestra lo siguiente:
Código SQL [-]
select b.codigo,b.nombre,b.monto,b.monto
from bonos (:codigo,:mes,:anio) b
todo con el fin de que tenga lo siguiente:
Código SQL [-]
select d.codigo,d.nombre,d.descuento,d.monto,b.bono,b.monto
from descuentos (:codigo,:mes,:anio) inner join bono (:codigo,:mes,:anio) 
on d.codigo=b.codigo

pero me muestra un producto carteciano, lo que pasa es que a veces descuentos tiene mas registros que bonos o a la inversa, todo esto lo hago para llevar a qreport y agruparlo por codigo y en la banda detail tener cuatro columnas :bono,monto_bono,descuento,monto_bono

pero con el inner join me duplica los datos por mas que coloque la sentencia distinc tengo el mismo problema,
Espero se entienda mi problema y espero sus paortes como siempre amigos del foro, o talves hubiese otra manera de solucionar , muchas gracias


La franja horaria es GMT +2. Ahora son las 18:36:33.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi