Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ayuda con consulta en SQL (Quickreport) (https://www.clubdelphi.com/foros/showthread.php?t=26604)

raco 27-10-2005 21:18:31

Ayuda con consulta en SQL (Quickreport)
 
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:

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

Query2:

Código SQL [-]
size="1">SELECT (os.cantidad*os.precio) Subtotal1,(os.cantidad*os.precio*o.iva) iva1,
size="1">((os.cantidad*os.precio*o.iva) + (os.cantidad*os.precio)) total1 from orden o, 
size="1">orden_sucs size="1">os, sucursales su where o.fecha>=:del and o.fecha<=:al and 
size="1">o.sucursal=os.sucursal and size="1">su.nombre=o.sucursal and su.empresa=:emp and 
size="1">o.folio=os.folio and size="1">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:

Código SQL [-]
 
size="1">SELECT (os.cantidad*os.precio) Subtotal, (os.cantidad*os.precio*o.iva) iva,
size="1">((os.cantidad*os.precio*o.iva) + (os.cantidad*os.precio)) total from orden o,
size="1">orden_sucs os, size="1">sucursales su where o.fecha>=:del and o.fecha<=:al and 
size="1">o.sucursal=os.sucursaland size="1">su.nombre=o.sucursal and su.empresa=:emp 
size="1">and o.folio=os.folio and size="1">o.tipodecompra='NACIONAL'
size="1">union
size="1">SELECT (os.cantidad*os.precio) Subtotal1,(os.cantidad*os.precio*o.iva) iva1,
size="1">((os.cantidad*os.precio*o.iva) + (os.cantidad*os.precio)) total1 from orden o,
size="1">orden_sucs os, sucursales su where o.fecha>=:del and o.fecha<=:al and 
size="1">o.sucursal=os.sucursal and size="1">su.nombre=o.sucursal and su.empresa=:emp 
size="1">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


La franja horaria es GMT +2. Ahora son las 05:43:34.

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