Oracle - Query Oracle

   
Vista:

Query Oracle

Publicado por Moisés (5 intervenciones) el 24/08/2015 21:07:49
Hola a todos, tengo el siguiente query que Suma segun los filtros que le doy. Lo que no entiendo es por qué
no suma bien. Ejemplo:

Si debe Sumar 1800, me muestra 1950. Por favor su apoyo .

1
2
3
4
5
6
7
8
SELECT ASSETNUM, TOTALCOST FROM ASSET
  WHERE ASSETNUM LIKE 'H%' AND TOTALCOST!=0
  GROUP BY  ASSETNUM,TOTALCOST
  HAVING SUM(TOTALCOST)>200
UNION
SELECT 'TOTAL',SUM(TOTALCOST) FROM ASSET
  WHERE ASSETNUM LIKE 'H%' AND TOTALCOST!=0
  HAVING SUM(TOTALCOST)>200;


Vean la imagen:
http://subefotos.com/ver/?e2f60e013f...22d4527f0o.png




Espero su respuesta.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Query Oracle

Publicado por xve (13 intervenciones) el 24/08/2015 21:54:24
Hola Moisés, no funciona el link de la imagen... puedes adjuntarla a un mensaje?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Query Oracle

Publicado por Moisés (5 intervenciones) el 24/08/2015 22:04:27
De acuerdo xve:

result

Espero tu comentario.


Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Query Oracle

Publicado por Rafael (177 intervenciones) el 25/08/2015 12:53:01
Hola

Esto ocurre por que ambas consultas son diferentes:

Si lo analizas, la primera NO HACE la suma solo muestra aquellos registros cuyo valor sea mayor a 200

La segunda si que te hace la diferencia pero sobre el total final quizas lo que quieres es algo asi

1
2
3
4
5
6
7
SELECT ASSETNUM, TOTALCOST FROM ASSET
  WHERE ASSETNUM LIKE 'H%' AND TOTALCOST!=0
  AND TOTALCOST > 200
UNION
SELECT 'TOTAL',SUM(TOTALCOST) FROM ASSET
  WHERE ASSETNUM LIKE 'H%' AND TOTALCOST!=0
  AND TOTALCOST>200;

Dependiendo de la version de ORACLE podrias usar la clausula ROLLUP para que se ejecute en una sola consulta...
1
2
3
4
SELECT ASSETNUM, SUM(TOTALCOST) FROM ASSET
  WHERE ASSETNUM LIKE 'H%' AND TOTALCOST!=0
  AND TOTALCOST > 200
GROUP BY ROLLUP (ASSETNUM)

Ya nos contaras... saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Query Oracle

Publicado por Moisés (5 intervenciones) el 25/08/2015 16:40:43
Rafael, muy bueno el query. Me funciona a la perfección.

Muy agradecido.


Saludos.


Moisés
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar