PDA

Ver la Versión Completa : Ayuda con consulta en SQL (Quickreport)


raco
27-10-2005, 21:18:31
Hola, tengo el siguiente problema, estoy haciendo un quick Report en el q muestro los datos por grupos y cuando cada grupo termina le tengo que poner la suma y al final una suma de todo. El problema es que estoy usando QRExpr y no me muestra bien el resultado, no se si esta bien lo que he hecho, lo he probado de 2 formas y ninguna funciona, mi consulta es asi:

1. (Primera forma)

Query1:



SELECT (os.cantidad*os.precio) Subtotal, (os.cantidad*os.precio*o.iva) iva,
((os.cantidad*os.precio*o.iva) + (os.cantidad*os.precio)) total from orden o,
orden_sucs os, sucursales su where o.fecha>=:del and o.fecha<=:al and
o.sucursal=os.sucursaland su.nombre=o.sucursal and su.empresa=:emp
and o.folio=os.folio and o.tipodecompra='NACIONAL'[/size]


Query2:


SELECT (os.cantidad*os.precio) Subtotal1,(os.cantidad*os.precio*o.iva) iva1,
((os.cantidad*os.precio*o.iva) + (os.cantidad*os.precio)) total1 from orden o,
orden_sucs os, sucursales su where o.fecha>=:del and o.fecha<=:al and
o.sucursal=os.sucursal and su.nombre=o.sucursal and su.empresa=:emp and
o.folio=os.folio and o.tipodecompra='INTERNACIONAL'

El QRExpr en la expresion tiene lo siguiente:
(SUM(Query2.SUBTOTAL)) + (SUM(Query2.SUBTOTAL1)), segun sea el caso, o sea tengo uno para c/u.

Pero no me muestra bien la suma.:(

2. (Segunda forma)

Query1:



SELECT (os.cantidad*os.precio) Subtotal, (os.cantidad*os.precio*o.iva) iva,
((os.cantidad*os.precio*o.iva) + (os.cantidad*os.precio)) total from orden o,
orden_sucs os, sucursales su where o.fecha>=:del and o.fecha<=:al and
o.sucursal=os.sucursaland su.nombre=o.sucursal and su.empresa=:emp
and o.folio=os.folio and o.tipodecompra='NACIONAL'
union
SELECT (os.cantidad*os.precio) Subtotal1,(os.cantidad*os.precio*o.iva) iva1,
((os.cantidad*os.precio*o.iva) + (os.cantidad*os.precio)) total1 from orden o,
orden_sucs os, sucursales su where o.fecha>=:del and o.fecha<=:al and
o.sucursal=os.sucursal and su.nombre=o.sucursal and su.empresa=:emp
and o.folio=os.folio and o.tipodecompra='INTERNACIONAL'


Y en el QRExpr esta: (SUM(Query1.SUBTOTAL)) pero tampoco me muestra bien el resultado:mad: , hay alguna forma de hacer que me sume los dos resultados que me arroja este query, o de que forma puedo hacer para que me los junte la consulta yno me forme 2.

Estan bien alguna de las dos formas en la que lo estoy intentando, creo que el problema esta en la consulta, como que el Group Footer que tengo, me pone el resultado duplicado dependiendo del numero de registros que me muestra el reporte. Espero que me entiendan, si quieren pongo la estructura de las tablas. Gracias y espero que me puedan ayudar.:D

vtdeleon
27-10-2005, 22:41:41
Saludos
Esto aquí:
SUM(Query2.SUBTOTAL)) + (SUM(Query2.SUBTOTAL1)),
La 1ra debe ser Query1, pero supongo que fue error de escritura
Intenta SUM(Query1.SUBTOTAL+Query2.SUBTOTAL1)
PD:Este hilo si está un poco ancho!!!! :o

raco
27-10-2005, 23:24:05
Si fue error de escritura, pero nada mas aqui en el foro, en mi programa si lo tengo bien, esta bien lo que estoy haciendo?, en el primer punto, la consulta me devuelve nada mas tres valores cada query, que es lo que yo pido, eso esta bien y la consulta si me devuelve los valores que debe, ya lo probe en el SQL Plus, estan bien la suma, el problema es cuando lo pongo en el QRexpr (la suma de los resultados de cada query). Y la segunda opcion me regresa 6 valores el query, por ejemplo

Subtotal iva Total
100 50 20
200 100 30

Que es el resultado de la union, se pueden sumar estos dos valores o cual sera mi error. Gracias.:D

PD.ya arregle el hilo, espero que se vea mejor ahora, gracias de nuevo.:p