SQL - limitar resultados de una suma

   
Vista:

limitar resultados de una suma

Publicado por Ricardo (4 intervenciones) el 14/03/2011 01:56:46
Al hacer una consulta donde suma varios campos de una tabla, necesito que si la suma es mayor que "82", me ponga por default un valor de "10" y si es menor que "0", ponga "0". Como podria hacerlo con sql..

Saludos y gracias!!
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

limitar resultados de una suma

Publicado por Leonardo Josué (880 intervenciones) el 14/03/2011 17:25:59
Hola Ricardo:

No mencionas qué manejador de BD estás utilizando, pero un CASE-WHEN debería funcionar.

Si estás sumando una columna:
SELECT CASE WHEN SUM(TuCampo) > 82 THEN 10 ELSE 0 END suma FROM TuTabla

Si estás sumando varias columnas:
SELECT CASE WHEN (TuCampo1 + TuCampo2 + TuCampo3) > 82 THEN 10 ELSE 0 END suma FROM TuTabla

El CASE-WHEN es soportado por la mayoría de los DBMS actuales, algunos de ellos como MySQL por ejemplo manejan también sentencias tipo IF que funcionan de manera semejante. Haz la prueba y nos comentas

saludos
Leo.
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

limitar resultados de una suma

Publicado por Ricardo (4 intervenciones) el 15/03/2011 04:19:58
Ok, Gracias Leo..
Mañana temprano pruebo con lo que me acabas de reposnder y te comento..

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

limitar resultados de una suma

Publicado por Ricardo (4 intervenciones) el 22/03/2011 02:45:27
Buen Dia!
Hice la prueba con el CASE-WHEN y resulto tal y como lo esperaba, te agradezco el apoyo.

Tambien en lo que andamos batallando es en encontrar como hacer un promedio de una tabla que contiene datos que se actualizan cada minuto... lo que pretendemos hacer es sacar un promedio de las ultimas 12 y 24 hras registradas en la tabla.... es una tabla en Oracle y lo queremos hacer via SQL..... Ojala pudieras ayudarnos..... 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

limitar resultados de una suma

Publicado por Leonardo Josué (880 intervenciones) el 23/03/2011 19:22:56
Hola Ricardo:

No es conveniente que utilices un mismo post para hacer más de una pregunta, es decir, nada tiene que ver el limitar el resultado de una suma (que es el título del post) con las preguntas que haces acerca de fechas en ORACLE. Lo correcto es que abras un nuevo post y ahí expreses una nueva pregunta.

Mira, no entiendo muy bien qué es lo que necesitas hacer, pero te explico más o menos cómo es el manejo de fechas en ORACLE para ver si te sirve...

cuando tú haces algo como esto:

select fecha1 - fecha2 from dual

el resultado es un número real, en donde UNA UNIDAD representa UN DÍA de diferencia ente las fechas. Si el resultado fuera por ejemplo 1.5 eso equivaldría a un día y medio o lo que es lo mismo 1.5 * 24 = 36 horas.

de tal manera que si quieres obtener cuántas horas hay de diferencia entre la hora actual y una fecha X harías algo como esto:

select (sysdate - to_date('23/03/2011 11:00', 'dd/mm/yyyy hh24:mi')) * 24 from dual;

Creo que esto te puede servir para filtrar la información de tu tabla, haz algunas pruebas y si tienes dudas crea un nuevo post y nos comentas.

Saludos
Leo.
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

limitar resultados de una suma

Publicado por Ricardo (4 intervenciones) el 24/03/2011 03:21:23
ok, Gracias Leo... abrire otro post con este tema.. Disculpa por no haberlo hecho antes...
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