Oracle - Pedido de Ayuda de CONSULTA SUM con Triple Cruzamiento

 
Vista:
sin imagen de perfil

Pedido de Ayuda de CONSULTA SUM con Triple Cruzamiento

Publicado por fabian (2 intervenciones) el 21/02/2017 15:05:25
Buenas Chicos/as:

les tengo una consulta, mas bien un PEDIDO DE AYUDAAAA, jejeje...

Bueno espero poder explicarme bien, ahi va:

Tengo 3 tablas:

1)
TABLA: ProductosStock

IdProducto
IdSubProducto
Descripcion
Stock


Esa Tabla se tiene listado de productos con Id y IdSub, que son dos codigos que identifica a un producto y luego se lista el STOCK (que puede ser lleno, vacio, paralizado o discontinuado)

2)
TABLA: UbicacionProductos

IdProducto
IdSubProducto
Ubicacion

En esa Tabla, se tiene solamente los Id y SubId, con ubicaciones que puede ser, Provincias (Tucuman, Salta, Rio Negro, etc) y BsAs (La Plata o Capital) nada mas

3)
TABLA: PrecioProductos

IdProducto
IdSubProducto
PrecioUnitario


Obviamente, en esa tabla se tiene los precios unitarios


Bueno en fin, espero que hayan entendido las tres tablas, y lo que quiero es:

Tomar todas las columnas del TABLA ProductosStock, y luego cruzarlo con la tabla UbicacionProductos para incorporar la columna de UBICACION, pero agrupando en dos cosas (Provincia o Bs As), se le recuerda que no tiene esa denominacion, sino nombres de provincias, o en caso de BsAs= La Plata y Capital Federal

Por eso en ese caso creo que se tiene que "agrupar" y renombrar ese grupo por "PROVINCIA" o "BSAS"

Y por ultimo incluir una columna del PrecioProductos (PrecioUnitario) para poder sumarlas, por UBICACION (PROVINCIA o BSAS) (conteo de cantidades y sumatoria de preciounitario)
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
sin imagen de perfil
Val: 12
Ha disminuido 1 puesto en Oracle (en relación al último mes)
Gráfica de Oracle

Pedido de Ayuda de CONSULTA SUM con Triple Cruzamiento

Publicado por José Luis (5 intervenciones) el 22/02/2017 16:48:24
Hola,

No estoy usando PLSQL/Oracle en estos momentos, pero si no mal recuerdo esto te puede ayudar.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Select P.IdProducto
     , P.IdSubProducto
     , P.Descripcion
     , P.Stock
     , U.Ubicacion
     , PP.PrecioUnitario
  from ProductosStock P
     , (Select IdProducto
             , IdSubProducto
             , decoode(Ubicacion, 'La Plata', 'BsAS'
                                , 'Capital', 'BSAs'
                                , 'Provincias') Ubicacion
          from UbicacionProductos) U
     , PrecioProductos PP
 Where (    P.IdProducto = U.IdProducto
        and P.IdSubProducto = U.IdSubProducto)
   and
       (    P.IdProducto = PP.IdProducto
        and P.IdSubProducto = PP.IdSubProducto);

Favor de comentar si te sirvió o de plano no.

Saludos
José Luis
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
sin imagen de perfil

Pedido de Ayuda de CONSULTA SUM con Triple Cruzamiento

Publicado por fabian (2 intervenciones) el 23/02/2017 17:30:28
Me sirvio algo, pero tambien me mando un amigo que sirvio, creo un poco mejor, te paso:

1
2
3
4
5
6
7
8
9
10
11
12
select PS.Stock,
case UP.ubicacion
  when 'La Plata' then 'BSAS'
  when 'Capital Federal' then 'BSAS'
  else 'Provincia'
end Tipo,
count(PS.Stock), Sum(PP.PrecioUnitario)
from ProductosStock PS
join UbicacionProductos UP on PS.IdProducto = UP.IdProducto and PS.IdSubProducto = UP.IdSubProducto
join PrecioProductos PP on PP.IdProducto = UP.IdProducto and PP.IdSubProducto = UP.IdSubProducto
group by PS.Stock, Tipo
order by Tipo, PS.Stock;


Gracias por su tiempo y atenciuon!!! saluuuudos
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