respuesta ii examen
DESCRIPTION
sabdTRANSCRIPT
1.
select to_char(pe.FECHAPEDIDO,'YYYY') as Ao,
decode(to_char(pe.FECHAPEDIDO,'MM'), '01','Enero','02','Febrero', '03','Marzo','04','Abril', '05','Mayo','06','Junio','07','Julio','08','Agosto','09','Setiembre','10','Octubre','11','Noviembre','12','Diciembre') as Mes, ce.nombrecompania, ca. nombrecategoria, sum(dp.cantidad) as cantidad
from detallesdepedidos dp
inner join productos pr on(dp.idproducto=pr.idproducto)
inner join categorias ca on(ca.idcategoria=pr.idcategoria)
inner join pedidos pe on(pe.idpedido=dp.idpedido)
inner join companiasdeenvios ce on(ce.idcompaniaenvios=pe.formaenvio)
group by to_char(pe.FECHAPEDIDO,'YYYY'),to_char(pe.FECHAPEDIDO,'MM'),ce.nombrecompania,ca.nombrecategoria
order by to_char(pe.FECHAPEDIDO,'YYYY'),to_char(pe.FECHAPEDIDO,'MM'), ce.nombrecompania,nombrecategoria;
2.
select ce.nombrecompania, cl.pais, count(dp.idpedido) as numPedido, sum(dp.Cantidad*dp.preciounidad*(1-dp.descuento)) as montoPedido from detallesdepedidos dp
inner join pedidos pe on(pe.idpedido=dp.idpedido)
inner join clientes cl on(cl.idcliente=pe.idcliente)
inner join companiasdeenvios ce on(ce.idcompaniaenvios=pe.formaenvio)
group by ce.nombrecompania,cl.pais
order by ce.nombrecompania,cl.pais;
3.
select aa.pais, aa.producto, aa.categoria, aa.cantidad from (select cl.pais as pais, pr.nombreProducto as producto, ca.NOMBRECATEGORIA as categoria, count(dp.cantidad) as cantidad from detallesdepedidos dp
inner join pedidos pe on(pe.idpedido=dp.idpedido)
inner join clientes cl on(cl.idcliente=pe.idcliente)
inner join productos pr on(pr.idproducto=dp.idproducto)
inner join categorias ca on(ca.idcategoria=pr.idcategoria)
group by cl.pais, pr.nombreProducto,ca.nombrecategoria
order by cl.pais ) aa
inner join
(select xx.pais as pais, max(xx.cantidad) as maxven from (select cl.pais as pais, pr.nombreProducto as producto, ca.NOMBRECATEGORIA as categoria, count(dp.cantidad) as cantidad from detallesdepedidos dp
inner join pedidos pe on(pe.idpedido=dp.idpedido)
inner join clientes cl on(cl.idcliente=pe.idcliente)
inner join productos pr on(pr.idproducto=dp.idproducto)
inner join categorias ca on(ca.idcategoria=pr.idcategoria)
group by cl.pais, pr.nombreProducto,ca.nombrecategoria
order by cl.pais) XX group by xx.pais
order by xx.pais) yy on aa.pais=yy.pais and aa.cantidad=yy.maxven;
4. select cl.pais,ce.nombrecompania, sum(pr.cargo) from pedidos pr
inner join clientes cl on(cl.idcliente=pr.idcliente)
inner join companiasdeenvios ce on(ce.idcompaniaenvios=pr.formaenvio)
group by cl.pais,ce.nombrecompania
order by cl.pais,ce.NOMBRECOMPANIA;