SQL - Sumar resultado de dos querys y validar resultado

   
Vista:

Sumar resultado de dos querys y validar resultado

Publicado por AJaramillo (1 intervención) el 08/03/2013 15:23:01
Buenas a tod@s,

Con el siguiente query obtengo la suma del resultado de dos querys:

SELECT SUM(total) AS limite
FROM
( SELECT SUM(valor) AS total
FROM tabla1 WHERE id = '1234' AND item = '1000'
UNION
SELECT SUM(valor) AS total
FROM tabla2 WHERE id='1234' AND item IN ('1100','1200','1599') AND fecha BETWEEN '2012-04-01' AND '2012-04-30'
) AS xx


Lo que deseo finalmente es validar o indicar que el resultado de este query (limite) no sea mayor a 3000. Es decir, que si por ejemplo el resultado obtenido es 2800 me devuelva el 2800, pero si el resultado es 3260 me retorne 0 (cero).....

Gracias de antemano su ayuda
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 Isaias

Sumar resultado de dos querys y validar resultado

Publicado por Isaias (691 intervenciones) el 08/03/2013 17:59:54
Lo resuelves con un simple case

SELECT CASE SUM(total) > 3260 THEN 0 END AS limite
FROM
( SELECT SUM(valor) AS total
FROM tabla1 WHERE id = '1234' AND item = '1000'
UNION
SELECT SUM(valor) AS total
FROM tabla2 WHERE id='1234' AND item IN ('1100','1200','1599') AND fecha BETWEEN '2012-04-01' AND '2012-04-30'
) AS xx
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
Imágen de perfil de xve

Sumar resultado de dos querys y validar resultado

Publicado por xve (238 intervenciones) el 08/03/2013 19:40:45
Hola, seria algo así para MySQL:

1
2
3
4
5
6
7
8
9
SELECT
CASE WHEN SUM(total)>3000 THEN 0 ELSE  SUM(total) END AS limite
 FROM
 ( SELECT SUM(valor) AS total
 FROM tabla1 WHERE id = '1234' AND item = '1000'
 UNION
 SELECT SUM(valor) AS total
 FROM tabla2 WHERE id='1234' AND item IN ('1100','1200','1599') AND fecha BETWEEN '2012-04-01' AND '2012-04-30'
 ) AS xx


Coméntanos, ok?
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