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

Problema con query anidada

Estas en el tema de Problema con query anidada en el foro de Oracle en Foros del Web. Hola a todos pido ayuda con una consulta que se me está resistiendo de mala manera, pongo una situación hipotética de las tablas implicadas. Tenemos ...
  #1 (permalink)  
Antiguo 21/10/2010, 13:55
 
Fecha de Ingreso: marzo-2009
Ubicación: Valladolid
Mensajes: 3
Antigüedad: 15 años, 8 meses
Puntos: 0
Problema con query anidada

Hola a todos

pido ayuda con una consulta que se me está resistiendo de mala manera, pongo una situación hipotética de las tablas implicadas.

Tenemos una tabla llamada "descuento" la cual tiene 2 campos, estos serían:

desc desc2
97 1055

lo que enlaza esta tabla son descuentos para que si se encuentran estos 2 descuentos para el mismo cliente en una fecha determinada en la siguiente tabla, se sume su gasto de ese descuento y su limite, para hallar así lo que ha consumido en total de esos descuentos (100%, 50% etc)

la tabla que guarda esto llamada "cuentas" tendría esta forma:

cliente desc limite gastado fecha
1 97 60000 60000 21/10/2010
1 1055 60000 60000 21/10/2010

Lo que necesito que saque la query sería la suma de estos 2 pares tal como indicaba la tabla "descuento", sacando algo asi:

cliente limite gastado fecha
1 120000 120000 21/10/2010


Espero haberme explicado correctamente, he estado toda la tarde intentándolo sin resultados correctos y ando un poco perdido ya.

Lo he intentado así pero no da el resultado que quiero. Cualquier ayuda es agradecida.


Código:
SELECT Tbl2.cliente,
       Tbl2.desc,
       SUM(Tbl2.gasto) AS gasto,
       SUM(Tbl2.limit) AS limit,
       FROM (SELECT DISTINCT DECODE(d.desc,
                                       NULL,
                                       C.desc2,
                                       d.desc) AS desc,
                                C.cliente,
                                MAX(C.gastado) AS gastado,
                                MAX(C.limite) AS limite,
                  FROM cuentas C, descuentos d
                 WHERE C.fecha = TO_DATE('21/10/2010', 'dd/mm/rrrr')
                   AND C.desc2 = d.desc2
                 GROUP BY C.desc2,
                          d.desc,
                          C.cliente) Tbl2
         GROUP BY Tbl2.cliente, Tbl2.desc

Etiquetas: query
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 14:21.