Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

[SOLUCIONADO] Dos campos calculados en una consulta

Estas en el tema de Dos campos calculados en una consulta en el foro de Oracle en Foros del Web. Hola! Me gustaría saber como puedo hacer lo siguiente. Tengo dos consultas sobre una misma tabla, en realidad es un cruce de varias tablas pero ...
  #1 (permalink)  
Antiguo 28/04/2015, 14:01
 
Fecha de Ingreso: febrero-2007
Mensajes: 5
Antigüedad: 12 años, 11 meses
Puntos: 0
Dos campos calculados en una consulta

Hola!
Me gustaría saber como puedo hacer lo siguiente. Tengo dos consultas sobre una misma tabla, en realidad es un cruce de varias tablas pero por simplicidad lo dejo asi:

Código SQL:
Ver original
  1. SELECT codigo, SUM(importanual) AS sumaTotal
  2. FROM importesp
  3. WHERE codigo IN
  4. (
  5. ['valores'],...
  6. )
  7. GROUP BY codigo
y el resultado es algo tal que asi:

codigo sumaTotal

La cuestión es que necesito añadir una tercera columna utilizando la función SUM sobre el mismo campo (importanual) pero necesito añadirle una condición, y es una clausula where para que me calcule la suma solo desde una fecha determinada. La clausula where es sencilla, simplemente que el campo fecha de la fila sea mayor a una determinada.

El caso es que necesito por un lado, mantener la suma total y por el otro, ejecutar la suma solo desde la fecha determinada.
Ahora saco dos consultas y lo pego, pero me gustaría tenerlo solo en una query.

Un saludo y gracias

Última edición por gnzsoloyo; 28/04/2015 a las 14:47
  #2 (permalink)  
Antiguo 29/04/2015, 10:11
 
Fecha de Ingreso: febrero-2015
Mensajes: 89
Antigüedad: 4 años, 11 meses
Puntos: 1
Respuesta: Dos campos calculados en una consulta

Eso lo puedes hacer usando un SUM con Case when... algo asi.

Código SQL:
Ver original
  1. SELECT codigo, SUM(importanual) AS sumaTotal,
  2. SUM(CASE WHEN Fecha > '2015-04-29' THEN importanual ELSE  0 END)  AS SumaTotal2
  3. FROM importesp
  4. GROUP BY codigo
  #3 (permalink)  
Antiguo 29/04/2015, 11:27
 
Fecha de Ingreso: febrero-2007
Mensajes: 5
Antigüedad: 12 años, 11 meses
Puntos: 0
Respuesta: Dos campos calculados en una consulta

Gracias, desconocia que podia utilizar CASE en las funciones de grupo.
Salu2

Etiquetas: campos, select, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:00.