Sei sulla pagina 1di 23

Consultas SQL de Base Pinturas

ndice 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
26. 27. 28. 29. 30.

El producto ms vendido o menos vendido en unidades de todas las empresas El producto ms vendido o menos vendido en unidades de cada empresa El producto ms vendido o menos vendido en DOLARES de todas las empresas El producto ms vendido o menos vendido en DOLARES de cada una de las empresas El monto de ventas en dlares de cada vendedor o empleado que vende El empleado que ms vende o menos vende en DOLARES de todas las empresas El empleado que ms vende o menos vende en DOLARES de cada empresa El empleado que ms vende o menos vende en unidades de todas las empresas El empleado que ms vende o menos vende en unidades de cada empresa El monto de venta en unidades por factura El monto de venta en dlares por fecha El monto de venta en unidades por fecha El da que mas vendi en dlares cada una de las empresas El da que ms vendi en unidades cada una de las empresas Las cargas familiares de cada empleado ordenadas por el nombre del empleado La rentabilidad de cada producto El producto ms rentable o menos rentable de todas las empresas El producto ms rentable o menos rentable de cada una de las empresas El cliente que mas compra o menos compra en unidades de todas las empresas El cliente que ms compra o menos compra en unidades de cada una de las empresas El cliente que mas compra o menos compra en DOLARES de todas las empresas El cliente que mas compra o menos compra en DOLARES de cada una de las empresas El nombre del proveedor al que ms le hemos comprado en cantidad de unidades El nombre del proveedor al que ms le hemos comprado en DOLARES Cul es la empresa que vende ms numero de productos en promedio por factura
El cliente que compra el producto ms vendido en DOLARES de todas las empresas (Revisar)

31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44.

El tipo de producto que ms se vende en cantidad La marca ms vendida en cantidad El tipo de producto que ms se vende en DOLARES La marca ms vendida en DOLARES Cuantos clientes tiene cada sucursal La sucursal que ms clientes tiene El color de pintura que ms se vende o menos se vende La empresa que ms genera en dlares La empresa que gana el mayor margen de utilidad en dlares de todas las empresas El proveedor que vende en cada empresa el producto con menor margen de utilidad El monto de venta en cantidad de cada tipo de pintura El monto de venta en dlares de cada tipo de pintura El tipo de pintura que ms se vende en cantidad de todas las empresas El tipo de pintura que ms se vende en dlares de todas las empresas El monto de venta en cantidad por tipo de accesorio El monto de ventas en dlares por tipo de accesorio El tipo de accesorio ms vendido en cantidad de todas las empresas EL tipo de accesorio ms vendido en dlares de todas las empresas 1

45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58.

La cantidad que se ha vendido en unidades de cada accesorio La cantidad que se ha vendido en dlares de cada accesorio El accesorio que mas se vende en dlares de todas las empresas El accesorio que ms se vende en cantidad de todas las empresas La pintura que ms se vende en cantidad de todas las empresas La pintura que ms se vende en dlares de todas las empresas La pintura que ms se vende en dlares en cada una de las empresas La pintura que ms se vende en cantidad en cada una de las empresas El accesorio que ms se vende en cantidad en cada una de las empresas El accesorio que ms se vende en dlares en cada una de las empresas El tipo de pintura que ms se vende en cantidad de cada una de las empresas El tipo de pintura que ms se vende en dlares de cada una de las empresas El tipo de accesorio ms vendido en cantidad de cada una las empresas El tipo de accesorio ms vendido en dlares de cada una de las empresas

El producto ms vendido o menos vendido en unidades de todas las empresas


select p.nom_pro,d.cod_pro, sum(d.cfdv_cantidad) from detalle d, productos p where d.cod_pro= p.cod_pro group by p.nom_pro, d.cod_pro having sum(d.cfdv_cantidad)>=all(select sum(d1.cfdv_cantidad) from productos p1, detalle d1 where d1.cod_pro= p1.cod_pro group by p1.nom_pro, d1.cod_pro);

El producto ms vendido o menos vendido en unidades de cada empresa


select e.nom_emp, p.nom_pro, sum(d.cfdv_cantidad) from productos p, detalle d,empresa e where d.cod_pro= p.cod_pro and e.cod_emp= p.cod_emp group by p.nom_pro, e.nom_emp having sum(d.cfdv_cantidad)>=all(select sum(d1.cfdv_cantidad) from productos p1, detalle d1,empresa e1 where d1.cod_pro= p1.cod_pro and e1.cod_emp= p1.cod_emp and e.nom_emp= e1.nom_emp group by p1.nom_pro, e1.nom_emp);

El producto ms vendido o menos vendido en DOLARES de todas las empresas


select p.nom_pro, d.cod_pro, sum(d.cfdv_cantidad*d.cfdv_precio_unitario) from detalle d, productos p where p.cod_pro=d.cod_pro group by d.cod_pro, p.nom_pro having sum(d.cfdv_cantidad*d.cfdv_precio_unitario)>=all(select sum(d.cfdv_cantidad*d.cfdv_precio_unitario) from detalle d, productos p where p.cod_pro=d.cod_pro group by d.cod_pro, p.nom_pro);

El producto ms vendido o menos vendido en DOLARES de cada una de las empresas

select e.nom_emp, p.nom_pro, d.cod_pro, sum(d.cfdv_cantidad*d.cfdv_precio_unitario) from detalle d, productos p, empresa e where p.cod_pro=d.cod_pro and e.cod_emp= p.cod_emp group by e.nom_emp, p.nom_pro, d.cod_pro 3

having sum(d.cfdv_cantidad*d.cfdv_precio_unitario)>=all(select sum(d1.cfdv_cantidad*d1.cfdv_precio_unitario) from detalle d1, productos p1, empresa e1 where p1.cod_pro=d1.cod_pro and e1.cod_emp= p1.cod_emp and e.nom_emp= e1.nom_emp group by e1.nom_emp, p1.nom_pro, d1.cod_pro);

El monto de ventas en dlares de cada vendedor o empleado que vende


select e.nom_emple,fv.cod_emple, sum(fv.cfv_total) from empleado e, factura_venta fv where e.cod_emple= fv.cod_emple group by e.nom_emple, fv.cod_emple;

El empleado que ms vende o menos vende en dlares de todas las empresas


select e.nom_emple,fv.cod_emple, sum(fv.cfv_total) from empleado e, factura_venta fv where e.cod_emple= fv.cod_emple group by e.nom_emple, fv.cod_emple having sum(fv.cfv_total) >= all(select sum(fv1.cfv_total) from empleado e1, factura_venta fv1 where e1.cod_emple= fv1.cod_emple group by e1.nom_emple, fv1.cod_emple);

El empleado que ms vende o menos vende en dlares de cada empresa


Select em.nom_emp,e.nom_emple,fv.cod_emple, sum(fv.cfv_total) from empleado e, factura_venta fv, empresa em where e.cod_emple= fv.cod_emple and em.cod_emp= e.cod_emp group by e.nom_emple, fv.cod_emple, em.nom_emp having sum(fv.cfv_total) <= all(Select sum(fv1.cfv_total) from empleado e1, factura_venta fv1, empresa em1 where e1.cod_emple= fv1.cod_emple and em1.cod_emp= e1.cod_emp and em1.nom_emp= em.nom_emp group by e1.nom_emple, fv1.cod_emple, em1.nom_emp);

El empleado que ms vende o menos vende en unidades de todas las empresas


select fv.cod_emple,e.nom_emple, sum(d.cfdv_cantidad) from factura_venta fv, detalle d, empleado e where fv.cfv = d.cfv 4

and fv.cod_emple=e.cod_emple group by fv.cod_emple,e.nom_emple having sum(d.cfdv_cantidad) >= all(select sum(d.cfdv_cantidad) from factura_venta fv, detalle d, empleado e where fv.cfv = d.cfv and fv.cod_emple=e.cod_emple group by fv.cod_emple,e.nom_emple);

El mismo pero con el nombre de la empresa select emp.nom_emp, fv.cod_emple,e.nom_emple, sum(d.cfdv_cantidad) from factura_venta fv, detalle d, empleado e,empresa emp where fv.cfv = d.cfv and fv.cod_emple=e.cod_emple and emp.cod_emp = e.cod_emp group by fv.cod_emple,e.nom_emple, emp.nom_emp having sum(d.cfdv_cantidad) >= all(select sum(d.cfdv_cantidad) from factura_venta fv, detalle d, empleado e,empresa emp where fv.cfv = d.cfv and fv.cod_emple=e.cod_emple and emp.cod_emp = e.cod_emp group by fv.cod_emple,e.nom_emple, emp.nom_emp);

El empleado que ms vende o menos vende en unidades de cada una de las empresas select emp.nom_emp, fv.cod_emple,e.nom_emple, sum(d.cfdv_cantidad) from factura_venta fv, detalle d, empleado e, empresa emp where fv.cfv = d.cfv and fv.cod_emple=e.cod_emple and e.cod_emp = emp.cod_emp group by fv.cod_emple,e.nom_emple, emp.nom_emp having sum(d.cfdv_cantidad) >= all(select sum(d.cfdv_cantidad) from factura_venta fv, detalle d, empleado e, empresa emp1 where fv.cfv = d.cfv and fv.cod_emple=e.cod_emple and e.cod_emp = emp1.cod_emp and emp.nom_emp = emp1.nom_emp group by fv.cod_emple,e.nom_emple, emp1.nom_emp);

El monto de venta en unidades por factura


select e.nom_emp, fv.cfv, sum(d.cfdv_cantidad) from detalle d, factura_venta fv, empresa e where fv.cfv= d.cfv and e.cod_emp = fv.cod_emp group by e.nom_emp, fv.cfv;

El monto de ventas en dlares por fecha


select fv.cfv_fecha, sum(fv.cfv_total) from factura_venta fv group by fv.cfv_fecha;

El monto de venta en unidades por fecha


select e.nom_emp, fv.cfv_fecha, sum(d.cfdv_cantidad) from factura_venta fv, detalle d, empresa e where fv.cfv = d.cfv and e.cod_emp = fv.cod_emp group by fv.cfv_fecha, e.nom_emp;

El da que ms vendi en dlares cada una de las empresas


select e.nom_emp, fv.cfv_fecha, sum(fv.cfv_total) from factura_venta fv, empresa e where e.cod_emp = fv.cod_emp group by fv.cfv_fecha, e.nom_emp having sum(fv.cfv_total)>=all(select sum(fv.cfv_total) from factura_venta fv, empresa e1 where e1.cod_emp = fv.cod_emp and e.nom_emp = e1.nom_emp group by fv.cfv_fecha, e1.nom_emp);

El da que ms vendi en unidades cada una de las empresas


select e.nom_emp, fv.cfv_fecha, sum(d.cfdv_cantidad) from factura_venta fv, detalle d, empresa e where fv.cfv = d.cfv and e.cod_emp = fv.cod_emp group by fv.cfv_fecha, e.nom_emp having sum(d.cfdv_cantidad)>=all(select sum(d.cfdv_cantidad) from factura_venta fv, detalle d, empresa e1 where fv.cfv = d.cfv and e1.cod_emp = fv.cod_emp and e.nom_emp = e1.nom_emp group by fv.cfv_fecha, e1.nom_emp);

Las cargas familiares de cada empleado ordenadas por el nombre del empleado
select em.nom_emple, t.descripcion_carga, cf.nom_carga from empleado em, cargas_familiares cf, tipo_carga t where em.cod_emple= cf.cod_emple and t.cod_tipo_carga= cf.cod_tipo_cargaorder by em.nom_emple;

La rentabilidad de cada producto


select p.cod_pro, sum((d.cfdv_cantidad*d.cfdv_precio_unitario)(d.cfdv_cantidad*dc.cfdc_precio_unitario)) from detalle d, detalle_compra dc, productos p where d.cod_pro= p.cod_pro and dc.cod_pro= p.cod_progroup by p.cod_pro;

El producto ms rentable o menos rentable de todas las empresas


select p.nom_pro,p.cod_pro, sum((d.cfdv_cantidad*d.cfdv_precio_unitario)(d.cfdv_cantidad*dc.cfdc_precio_unitario)) "rentabilidad" from detalle d, detalle_compra dc, productos p where d.cod_pro= p.cod_pro and dc.cod_pro= p.cod_pro group by p.cod_pro, p.nom_pro having sum((d.cfdv_cantidad*d.cfdv_precio_unitario)-(d.cfdv_cantidad*dc.cfdc_precio_unitario)) >= all(select sum((d.cfdv_cantidad*d.cfdv_precio_unitario)(d.cfdv_cantidad*dc.cfdc_precio_unitario)) from detalle d, detalle_compra dc, productos p where d.cod_pro= p.cod_pro and dc.cod_pro= p.cod_pro group by p.cod_pro,p.nom_pro);

El producto ms rentable o menos rentable de cada una de las empresas


select e.nom_emp, p.nom_pro,p.cod_pro, sum((d.cfdv_cantidad*d.cfdv_precio_unitario)(d.cfdv_cantidad*dc.cfdc_precio_unitario)) "rentabilidad" from detalle d, detalle_compra dc, productos p, empresa e where d.cod_pro= p.cod_pro and dc.cod_pro= p.cod_pro and e.cod_emp=p.cod_emp group by p.cod_pro, p.nom_pro, e.nom_emp having sum((d.cfdv_cantidad*d.cfdv_precio_unitario)(d.cfdv_cantidad*dc.cfdc_precio_unitario))>= all(select sum((d1.cfdv_cantidad*d1.cfdv_precio_unitario)(d1.cfdv_cantidad*dc1.cfdc_precio_unitario)) from detalle d1, detalle_compra dc1, productos p1,empresa e1 where d1.cod_pro= p1.cod_pro and dc1.cod_pro= p1.cod_pro and e1.cod_emp= p1.cod_emp and e.nom_emp= e1.nom_emp group by p1.cod_pro,p1.nom_pro,e1.nom_emp);

El cliente que ms compra o menos compra en unidades de todas las empresas


select cl.cod_cliente, sum (d.cfdv_cantidad) from cliente cl, factura_venta f, detalle d 7

where cl.cod_cliente = f.cod_cliente and f.cfv = d.cfv group by cl.cod_cliente having sum (d.cfdv_cantidad)>= all(select sum (d.cfdv_cantidad) from cliente cl, factura_venta f, detalle d where cl.cod_cliente = f.cod_cliente and f.cfv = d.cfv group by cl.cod_cliente) ; El cliente que ms compra o menos compra en unidades de cada una de las empresas select e.nom_emp, cl.cod_cliente, sum (d.cfdv_cantidad) from cliente cl, factura_venta f, detalle d, empresa e where e.cod_emp = f.cod_emp and cl.cod_cliente = f.cod_cliente and f.cfv = d.cfv group by cl.cod_cliente, e.nom_emp having sum (d.cfdv_cantidad)>= all(select sum (d.cfdv_cantidad) from cliente cl, factura_venta f, detalle d, empresa e1 where e1.cod_emp = f.cod_emp and cl.cod_cliente = f.cod_cliente and f.cfv = d.cfv and e.nom_emp = e1.nom_emp group by cl.cod_cliente, e1.nom_emp) ;

El cliente que mas compra o menos compra en DOLARES de todas las empresas
select cl.nom_cliente, cl.cod_cliente, sum (d.cfdv_cantidad* d.cfdv_precio_unitario) from cliente cl, factura_venta f, detalle d where cl.cod_cliente = f.cod_cliente and f.cfv = d.cfv group by cl.nom_cliente, cl.cod_cliente having sum (d.cfdv_cantidad* d.cfdv_precio_unitario)>= all(select sum (d.cfdv_cantidad* d.cfdv_precio_unitario) from cliente cl, factura_venta f, detalle d where cl.cod_cliente = f.cod_cliente and f.cfv = d.cfv group by cl.nom_cliente, cl.cod_cliente); El cliente que mas compra o menos compra en DOLARES de cada una de las empresas select e.nom_emp, cl.nom_cliente, cl.cod_cliente, sum (d.cfdv_cantidad* d.cfdv_precio_unitario) from cliente cl, factura_venta f, detalle d, empresa e where cl.cod_cliente = f.cod_cliente and f.cfv = d.cfv and e.cod_emp= f.cod_emp group by e.nom_emp, cl.nom_cliente, cl.cod_cliente 8

having sum (d.cfdv_cantidad* d.cfdv_precio_unitario)>= all(select sum (d.cfdv_cantidad* d.cfdv_precio_unitario) from cliente cl, factura_venta f, detalle d, empresa e1 where cl.cod_cliente = f.cod_cliente and f.cfv = d.cfv and e1.cod_emp= f.cod_emp and e.nom_emp= e1.nom_emp group by e1.nom_emp, cl.nom_cliente, cl.cod_cliente); El nombre del proveedor al que ms le hemos comprado en cantidad de unidades select pr.nom_prove, oc.cod_prove, sum(dc.cfdc_cantidad) from proveedor pr, orden_compra oc, detalle_compra dc where pr.cod_prove = oc.cod_prove and oc.cfc = dc.cfc group by oc.cod_prove, pr.nom_prove having sum(dc.cfdc_cantidad) >= all(select sum(dc.cfdc_cantidad) from proveedor pr, orden_compra oc, detalle_compra dc where pr.cod_prove = oc.cod_prove and oc.cfc = dc.cfc group by oc.cod_prove, pr.nom_prove);

El nombre del proveedor al que ms le hemos comprado en DOLARES


select pr.nom_prove, oc.cod_prove, sum(oc.cfc_total) from orden_compra oc, proveedor pr where pr.cod_prove = oc.cod_prove group by oc.cod_prove, pr.nom_prove having sum(oc.cfc_total)>=all(select sum(oc.cfc_total) from orden_compra oc, proveedor pr where pr.cod_prove = oc.cod_prove group by oc.cod_prove, pr.nom_prove); Cul es la empresa que vende ms nmero de productos en promedio por factura SELECT E.NOM_EMP, FV.CFV, AVG(D.CFDV_CANTIDAD) VALOR_PROMEDIO FROM EMPRESA E, DETALLE D, FACTURA_VENTA FV WHERE E.COD_EMP = FV.COD_EMP AND D.CFV = FV.CFV GROUP BY E.NOM_EMP, FV.CFV HAVING AVG(D.CFDV_CANTIDAD) >= ALL ( SELECT AVG(D1.CFDV_CANTIDAD) FROM EMPRESA E1, DETALLE D1,FACTURA_VENTA FV1 WHERE E1.COD_EMP = FV1.COD_EMP AND FV1.CFV = D1.CFV GROUP BY E1.NOM_EMP, FV1.CFV); 9

El cliente que compra el producto ms vendido en DOLARES de todas las empresas(Revisar)

SELECT CL.NOM_CLIENTE, P.NOM_PRO FROM EMPRESA E, CLIENTE CL, DETALLE D, PRODUCTOS P WHERE E.COD_EMP=CL.COD_EMP AND P.COD_EMP = E.COD_EMP AND P.COD_PRO = D.COD_PRO GROUP BY CL.NOM_CLIENTE, P.NOM_PRO HAVING SUM (D.CFDV_PRECIO_UNITARIO *D.CFDV_CANTIDAD) >= ALL(SELECT SUM (D1.CFDV_PRECIO_UNITARIO *D1.CFDV_CANTIDAD) FROM EMPRESA E1, CLIENTE C1, DETALLE D1, PRODUCTOS P1 WHERE E1.COD_EMP=C1.COD_EMP AND P1.COD_EMP = E1.COD_EMP AND P1.COD_PRO = D1.COD_PRO GROUP BY C1.NOM_CLIENTE, P1.NOM_PRO);

El tipo de producto que ms se vende en cantidad


select tp.tipo_producto, sum(d.cfdv_cantidad) from tipo_producto tp, productos p, detalle d where tp.cod_tipo_producto= p.cod_tipo_producto and p.cod_pro = d.cod_pro group by tp.tipo_producto having sum(d.cfdv_cantidad)>=all(select sum(d.cfdv_cantidad) from tipo_producto tp, productos p, detalle d where tp.cod_tipo_producto= p.cod_tipo_producto and p.cod_pro = d.cod_pro group by tp.tipo_producto);

La marca ms vendida en cantidad


select m.nom_marca, m.cod_marca, sum(d.cfdv_cantidad) from marca m, productos p, detalle d where m.cod_marca= p.cod_marca and p.cod_pro = d.cod_pro group by m.nom_marca, m.cod_marca having sum(d.cfdv_cantidad)>=all(select sum(d.cfdv_cantidad) from marca m, productos p, detalle d where m.cod_marca= p.cod_marca and p.cod_pro = d.cod_pro group by m.nom_marca, m.cod_marca);

El tipo de producto que ms se vende en DOLARES


select tp.tipo_producto, sum(d.cfdv_cantidad*d.cfdv_precio_unitario) from tipo_producto tp, productos p, detalle d where tp.cod_tipo_producto= p.cod_tipo_producto and p.cod_pro = d.cod_pro 10

group by tp.tipo_producto having sum(d.cfdv_cantidad*d.cfdv_precio_unitario) >=all(select sum(d.cfdv_cantidad*d.cfdv_precio_unitario) from tipo_producto tp, productos p, detalle d where tp.cod_tipo_producto= p.cod_tipo_producto and p.cod_pro = d.cod_pro group by tp.tipo_producto);

La marca ms vendida en DOLARES


select m.nom_marca, m.cod_marca, sum(d.cfdv_cantidad* d.cfdv_precio_unitario) from marca m, productos p, detalle d where m.cod_marca= p.cod_marca and p.cod_pro = d.cod_pro group by m.nom_marca, m.cod_marca having sum(d.cfdv_cantidad* d.cfdv_precio_unitario)>=all(select sum(d.cfdv_cantidad* d.cfdv_precio_unitario) from marca m, productos p, detalle d where m.cod_marca= p.cod_marca and p.cod_pro = d.cod_pro group by m.nom_marca, m.cod_marca);

Cuantos clientes tiene cada sucursal


SELECT E.NOM_EMP,COUNT(*) FROM EMPRESA E,CLIENTE C WHERE E.COD_EMP=C.COD_EMP GROUP BY E.NOM_EMP;

La sucursal que ms clientes tiene


SELECT E.NOM_EMP,COUNT(*) FROM EMPRESA E,CLIENTE C WHERE E.COD_EMP=C.COD_EMP GROUP BY E.NOM_EMP HAVING COUNT(*)>=ALL(SELECT COUNT(*) FROM EMPRESA E,CLIENTE C WHERE E.COD_EMP=C.COD_EMP GROUP BY E.NOM_EMP)

El color de pintura q ms se vende o menos se vende


SELECT C.NOM_COLOR,COUNT(*) NUMERO_VENTAS FROM COLOR C,PINTURA P,PRODUCTOS PR,DETALLE T WHERE C.COD_COLOR=P.COD_COLOR 11

AND PR.COD_PRO=P.COD_PRO AND PR.COD_PRO=T.COD_PRO GROUP BY C.NOM_COLOR HAVING COUNT (*)>=ALL(SELECT COUNT(*) FROM COLOR C,PINTURA P,PRODUCTOS PR,DETALLE T WHERE C.COD_COLOR=P.COD_COLOR AND PR.COD_PRO=P.COD_PRO AND PR.COD_PRO=T.COD_PRO GROUP BY C.NOM_COLOR )

La empresa que ms genera en dlares


SELECT E.NOM_EMP, SUM(D.CFDV_PRECIO_UNITARIO*D.CFDV_CANTIDAD) FROM EMPRESA E, DETALLE D, PRODUCTOS P WHERE E.COD_EMP=P.COD_EMP AND P.COD_PRO = D.COD_PRO GROUP BY E.NOM_EMP HAVING SUM(D.CFDV_PRECIO_UNITARIO*D.CFDV_CANTIDAD)>=ALL(SELECT SUM(D.CFDV_PRECIO_UNITARIO*D.CFD FROM EMPRESA E, DETALLE D,PRODUCTOS P WHERE E.COD_EMP=P.COD_EMP AND P.COD_PRO=D.COD_PRO GROUP BY E.NOM_EMP); select e.nombrealmacen,sum(d.precio_unitario*d.cantidad) from almacen e, detalle_factura d,calzado c where e.cod_almacen=c.cod_almacen and c.cod_calzado=d.cod_calzado group by e.nombrealmacen having sum(d.precio_unitario*d.cantidad)>= all (select sum (d.precio_unitario *d.cantidad) from almacen e, detalle_factura d, calzado c where e.cod_almacen=c.cod_almacen and c.cod_calzado=d.cod_calzado group by e.nombrealmacen);

La empresa que gana el mayor margen de utilidad en dlares de todas las empresas
SELECT E.NOM_EMP, SUM((D.CFDV_CANTIDAD*D.CFDV_PRECIO_UNITARIO)(D.CFDV_CANTIDAD*DP.CFDC_PRECIO_UNITARIO)) AS MARGEN_UTILIDAD FROM EMPRESA E, PRODUCTOS P, DETALLE_COMPRA DP, DETALLE D WHERE E.COD_EMP=P.COD_EMP AND P.COD_PRO=DP.COD_PRO AND P.COD_PRO=D.COD_PRO GROUP BY E.NOM_EMP, E.COD_EMP HAVING SUM((D.CFDV_CANTIDAD*D.CFDV_PRECIO_UNITARIO)(D.CFDV_CANTIDAD*DP.CFDC_PRECIO_UNITARIO)) >=ALL(SELECT SUM ((D.CFDV_CANTIDAD*D.CFDV_PRECIO_UNITARIO)(D.CFDV_CANTIDAD*DP.CFDC_PRECIO_UNITARIO)) AS MARGEN_UTILIDAD FROM EMPRESA E, PRODUCTOS P, DETALLE_COMPRA DP, DETALLE D WHERE E.COD_EMP=P.COD_EMP AND P.COD_PRO=DP.COD_PRO AND P.COD_PRO=D.COD_PRO GROUP BY E.NOM_EMP, E.COD_EMP);

12

select e.nombrealmacen,sum((d.precio_unitario*d.cantidad)-(d.cantidad*dc.precio)) as margen_utilidad from almacen e, detalle_factura d,calzado c,detalle_compra dc where e.cod_almacen=c.cod_almacen and c.cod_calzado=d.cod_calzado and c.cod_calzado=dc.cod_calzado group by e.nombrealmacen,e.cod_almacen having sum((d.precio_unitario*d.cantidad)-(d.cantidad*dc.precio))>= all (select sum ((d.precio_unitario*d.cantidad)-(d.cantidad*dc.precio)) from almacen e, detalle_factura d,calzado c,detalle_compra dc where e.cod_almacen=c.cod_almacen and c.cod_calzado=d.cod_calzado and c.cod_calzado=dc.cod_calzado group by e.nombrealmacen,e.cod_almacen); El proveedor que vende en cada empresa el producto que tiene el menor margen de utilidad SELECT E.NOM_EMP, P.NOM_PRO,PR.NOM_PROVE, SUM((D.CFDV_CANTIDAD*D.CFDV_PRECIO_UNITARIO)-(D.CFDV_CANTIDAD*DP.CFDC_PRECIO_UNITARIO)) FROM EMPRESA E,PRODUCTOS P, DETALLE_COMPRA DP,DETALLE D, PROVEEDOR PR WHERE E.COD_EMP=P.COD_EMP AND P.COD_PRO=DP.COD_PRO AND P.COD_PRO=D.COD_PRO AND PR.COD_EMP=E.COD_EMP GROUP BY E.NOM_EMP, P.NOM_PRO,PR.NOM_PROVE, E.COD_EMP HAVING SUM((D.CFDV_CANTIDAD*D.CFDV_PRECIO_UNITARIO)(D.CFDV_CANTIDAD*DP.CFDC_PRECIO_UNITARIO)) <=ALL (SELECT SUM((D1.CFDV_CANTIDAD*D1.CFDV_PRECIO_UNITARIO) -(D1.CFDV_CANTIDAD*DP1.CFDC_PRECIO_UNITARIO)) FROM EMPRESA E1, PRODUCTOS P1, DETALLE_COMPRA DP1,DETALLE D1, PROVEEDOR PR1 WHERE E1.COD_EMP=P1.COD_EMP AND P1.COD_PRO=DP1.COD_PRO AND P1.COD_PRO=D1.COD_PRO AND PR1.COD_EMP=E1.COD_EMP AND E.COD_EMP=E1.COD_EMP GROUP BY E1.NOM_EMP, P1.NOM_PRO,PR1.NOM_PROVE, E1.COD_EMP);

El monto de venta en cantidad de cada tipo de pintura


SELECT TPI.descripcion,SUM(D.CFDV_CANTIDAD) FROM productos P, tipo_pintura TPI,DETALLE D, pintura PIN WHERE d.cod_pro= p.cod_pro AND p.cod_pro= PIN.cod_pro AND pin.cod_tipo_pintura= tpi.cod_tipo_pintura GROUP BY tpi.descripcion;

El monto de venta en dlares en cantidad de cada tipo de pinturas


SELECT TPI.descripcion,SUM(D.CFDV_CANTIDAD* d.cfdv_precio_unitario) FROM productos P, tipo_pintura TPI,DETALLE D, pintura PIN WHERE d.cod_pro= p.cod_pro AND p.cod_pro= PIN.cod_pro AND pin.cod_tipo_pintura= tpi.cod_tipo_pintura 13

GROUP BY tpi.descripcion;

El tipo de pintura que ms se vende en cantidad de todas las empresas


SELECT TPI.descripcion,SUM(D.CFDV_CANTIDAD) FROM productos P, tipo_pintura TPI,DETALLE D, pintura PIN WHERE d.cod_pro= p.cod_pro AND p.cod_pro= PIN.cod_pro AND pin.cod_tipo_pintura= tpi.cod_tipo_pintura GROUP BY tpi.descripcion having sum(d.cfdv_cantidad)>=all(SELECT SUM(D.CFDV_CANTIDAD) FROM productos P, tipo_pintura TPI,DETALLE D, pintura PIN WHERE d.cod_pro= p.cod_pro AND p.cod_pro= PIN.cod_pro AND pin.cod_tipo_pintura= tpi.cod_tipo_pintura GROUP BY tpi.descripcion);

El tipo de pintura que ms se vende en dlares de todas las empresas


SELECT TPI.descripcion,SUM(D.CFDV_CANTIDAD* d.cfdv_precio_unitario) FROM productos P, tipo_pintura TPI,DETALLE D, pintura PIN WHERE d.cod_pro= p.cod_pro AND p.cod_pro= PIN.cod_pro AND pin.cod_tipo_pintura= tpi.cod_tipo_pintura GROUP BY tpi.descripcion having sum(d.cfdv_cantidad* d.cfdv_precio_unitario)>=all(SELECT SUM(D.CFDV_CANTIDAD* d.cfdv_precio_unitario) FROM productos P, tipo_pintura TPI,DETALLE D, pintura PIN WHERE d.cod_pro= p.cod_pro AND p.cod_pro= PIN.cod_pro AND pin.cod_tipo_pintura= tpi.cod_tipo_pintura GROUP BY tpi.descripcion);

El monto de venta en cantidad por tipo de accesorio


SELECT ta.cod_tipo_acc,SUM(D.CFDV_CANTIDAD) FROM productos p, tipo_accesorio ta,detalle d, accesorios a WHERE d.cod_pro= p.cod_pro AND p.cod_pro= a.cod_pro AND a.cod_tipo_acc= ta.cod_tipo_acc GROUP BY ta.cod_tipo_acc

14

El monto de ventas en dlares por tipo de accesorio


SELECT ta.cod_tipo_acc,SUM(D.CFDV_CANTIDAD* d.cfdv_precio_unitario) FROM productos p, tipo_accesorio ta,detalle d, accesorios a WHERE d.cod_pro= p.cod_pro AND p.cod_pro= a.cod_pro AND a.cod_tipo_acc= ta.cod_tipo_acc GROUP BY ta.cod_tipo_acc

El tipo de accesorio ms vendido en cantidad de todas las empresas


SELECT ta.cod_tipo_acc,SUM(D.CFDV_CANTIDAD) FROM productos p, tipo_accesorio ta,detalle d, accesorios a WHERE d.cod_pro= p.cod_pro AND p.cod_pro= a.cod_pro AND a.cod_tipo_acc= ta.cod_tipo_acc GROUP BY ta.cod_tipo_acc having sum(d.cfdv_cantidad)>=all ( SELECT SUM(D.CFDV_CANTIDAD) FROM productos p, tipo_accesorio ta,detalle d, accesorios a WHERE d.cod_pro= p.cod_pro AND p.cod_pro= a.cod_pro AND a.cod_tipo_acc= ta.cod_tipo_acc GROUP BY ta.cod_tipo_acc);

El tipo de accesorio ms vendido en dlares de todas las empresas


SELECT ta.cod_tipo_acc,SUM(D.CFDV_CANTIDAD* d.cfdv_precio_unitario) FROM productos p, tipo_accesorio ta,detalle d, accesorios a WHERE d.cod_pro= p.cod_pro AND p.cod_pro= a.cod_pro AND a.cod_tipo_acc= ta.cod_tipo_acc GROUP BY ta.cod_tipo_acc having sum(d.cfdv_cantidad* d.cfdv_precio_unitario)>=all ( SELECT SUM(D.CFDV_CANTIDAD* d.cfdv_precio_unitario) FROM productos p, tipo_accesorio ta,detalle d, accesorios a WHERE d.cod_pro= p.cod_pro AND p.cod_pro= a.cod_pro AND a.cod_tipo_acc= ta.cod_tipo_acc GROUP BY ta.cod_tipo_acc);

La cantidad que se ha vendido en unidades de cada accesorio


select pr.nom_pro, ac.id_acc, sum(d.cfdv_cantidad) from accesorios ac, tipo_producto tp, productos pr, detalle d where ac.cod_pro=pr.cod_pro and tp.cod_tipo_producto= pr.cod_tipo_producto and d.cod_pro= pr.cod_pro group by pr.nom_pro, ac.id_acc; 15

La cantidad que se ha vendido en dlares de cada accesorio


select pr.nom_pro, ac.id_acc, sum(d.cfdv_cantidad * d.cfdv_precio_unitario) from accesorios ac, tipo_producto tp, productos pr, detalle d where ac.cod_pro=pr.cod_pro and tp.cod_tipo_producto= pr.cod_tipo_producto and d.cod_pro= pr.cod_pro group by pr.nom_pro, ac.id_acc;

El accesorio que ms se vende en dlares de todas las empresas


select pr.nom_pro, ac.id_acc, sum(d.cfdv_cantidad * d.cfdv_precio_unitario) from accesorios ac, tipo_producto tp, productos pr, detalle d where ac.cod_pro=pr.cod_pro and tp.cod_tipo_producto= pr.cod_tipo_producto and d.cod_pro= pr.cod_pro group by pr.nom_pro, ac.id_acc having sum(d.cfdv_cantidad * d.cfdv_precio_unitario)>= all(select sum(d.cfdv_cantidad * d.cfdv_precio_unitario) from accesorios ac, tipo_producto tp, productos pr, detalle d where ac.cod_pro=pr.cod_pro and tp.cod_tipo_producto= pr.cod_tipo_producto and d.cod_pro= pr.cod_pro group by pr.nom_pro, ac.id_acc);

El accesorio que ms se vende en cantidad de todas las empresas


select pr.nom_pro, ac.id_acc, sum(d.cfdv_cantidad ) from accesorios ac, tipo_producto tp, productos pr, detalle d where ac.cod_pro=pr.cod_pro and tp.cod_tipo_producto= pr.cod_tipo_producto and d.cod_pro= pr.cod_pro group by pr.nom_pro, ac.id_acc having sum(d.cfdv_cantidad )>= all(select sum(d.cfdv_cantidad ) from accesorios ac, tipo_producto tp, productos pr, detalle d where ac.cod_pro=pr.cod_pro and tp.cod_tipo_producto= pr.cod_tipo_producto and d.cod_pro= pr.cod_pro group by pr.nom_pro, ac.id_acc);

La pintura que ms se vende en cantidad de todas las empresas


select pr.nom_pro, pin.id_pintura, sum(d.cfdv_cantidad ) from pintura pin, tipo_producto tp, productos pr, detalle d where pin.cod_pro=pr.cod_pro and tp.cod_tipo_producto= pr.cod_tipo_producto and d.cod_pro= pr.cod_pro 16

group by pr.nom_pro, pin.id_pintura having sum(d.cfdv_cantidad )>= all( select sum(d.cfdv_cantidad ) from pintura pin, tipo_producto tp, productos pr, detalle d where pin.cod_pro=pr.cod_pro and tp.cod_tipo_producto= pr.cod_tipo_producto and d.cod_pro= pr.cod_pro group by pr.nom_pro, pin.id_pintura);

La pintura que ms se vende en dlares de todas las empresas


select pr.nom_pro, pin.id_pintura, sum(d.cfdv_cantidad * d.cfdv_precio_unitario) from pintura pin, tipo_producto tp, productos pr, detalle d where pin.cod_pro=pr.cod_pro and tp.cod_tipo_producto= pr.cod_tipo_producto and d.cod_pro= pr.cod_pro group by pr.nom_pro, pin.id_pintura having sum(d.cfdv_cantidad* d.cfdv_precio_unitario )>= all( select sum(d.cfdv_cantidad* d.cfdv_precio_unitario ) from pintura pin, tipo_producto tp, productos pr, detalle d where pin.cod_pro=pr.cod_pro and tp.cod_tipo_producto= pr.cod_tipo_producto and d.cod_pro= pr.cod_pro group by pr.nom_pro, pin.id_pintura);

La pintura que ms se vende en dlares en cada una de las empresas


select e.nom_emp, pr.nom_pro, pin.id_pintura, sum(d.cfdv_cantidad * d.cfdv_precio_unitario) from pintura pin, tipo_producto tp, productos pr, detalle d,empresa e where pin.cod_pro=pr.cod_pro and tp.cod_tipo_producto= pr.cod_tipo_producto and d.cod_pro= pr.cod_pro and e.cod_emp = pr.cod_emp group by pr.nom_pro, pin.id_pintura, e.nom_emp having sum(d.cfdv_cantidad* d.cfdv_precio_unitario )>= all( select sum(d.cfdv_cantidad * d.cfdv_precio_unitario) from pintura pin, tipo_producto tp, productos pr, detalle d,empresa e1 where pin.cod_pro=pr.cod_pro and tp.cod_tipo_producto= pr.cod_tipo_producto and d.cod_pro= pr.cod_pro and e1.cod_emp = pr.cod_emp and e.nom_emp= e1.nom_emp group by pr.nom_pro, pin.id_pintura, e1.nom_emp);

La pintura que ms se vende en cantidad en cada una de las empresas


select e.nom_emp, pr.nom_pro, pin.id_pintura, sum(d.cfdv_cantidad ) from pintura pin, tipo_producto tp, productos pr, detalle d,empresa e 17

where pin.cod_pro=pr.cod_pro and tp.cod_tipo_producto= pr.cod_tipo_producto and d.cod_pro= pr.cod_pro and e.cod_emp = pr.cod_emp group by pr.nom_pro, pin.id_pintura, e.nom_emp having sum(d.cfdv_cantidad )>= all( select sum(d.cfdv_cantidad ) from pintura pin, tipo_producto tp, productos pr, detalle d,empresa e1 where pin.cod_pro=pr.cod_pro and tp.cod_tipo_producto= pr.cod_tipo_producto and d.cod_pro= pr.cod_pro and e1.cod_emp = pr.cod_emp and e.nom_emp= e1.nom_emp group by pr.nom_pro, pin.id_pintura, e1.nom_emp);

El accesorio que ms se vende en cantidad en cada una de las empresas


select e.nom_emp,pr.nom_pro, ac.id_acc, sum(d.cfdv_cantidad ) from empresa e,accesorios ac, tipo_producto tp, productos pr, detalle d where ac.cod_pro=pr.cod_pro and tp.cod_tipo_producto= pr.cod_tipo_producto and d.cod_pro= pr.cod_pro and e.cod_emp= pr.cod_emp group by pr.nom_pro, ac.id_acc, e.nom_emp having sum(d.cfdv_cantidad )>= all(select sum(d.cfdv_cantidad ) from empresa e1,accesorios ac, tipo_producto tp, productos pr, detalle d where ac.cod_pro=pr.cod_pro and tp.cod_tipo_producto= pr.cod_tipo_producto and d.cod_pro= pr.cod_pro and e1.cod_emp= pr.cod_emp and e.nom_emp= e1.nom_emp group by pr.nom_pro, ac.id_acc, e1.nom_emp);

El accesorio que ms se vende en dlares en cada una de las empresas


select e.nom_emp,pr.nom_pro, ac.id_acc, sum(d.cfdv_cantidad * d.cfdv_precio_unitario) from empresa e,accesorios ac, tipo_producto tp, productos pr, detalle d where ac.cod_pro=pr.cod_pro and tp.cod_tipo_producto= pr.cod_tipo_producto and d.cod_pro= pr.cod_pro and e.cod_emp= pr.cod_emp group by pr.nom_pro, ac.id_acc, e.nom_emp having sum(d.cfdv_cantidad* d.cfdv_precio_unitario )>= all(select sum(d.cfdv_cantidad* d.cfdv_precio_unitario ) from empresa e1,accesorios ac, tipo_producto tp, productos pr, detalle d where ac.cod_pro=pr.cod_pro and tp.cod_tipo_producto= pr.cod_tipo_producto 18

and d.cod_pro= pr.cod_pro and e1.cod_emp= pr.cod_emp and e.nom_emp= e1.nom_emp group by pr.nom_pro, ac.id_acc, e1.nom_emp);

El tipo de pintura que ms se vende en cantidad de cada una de las empresas


SELECT e.nom_emp,TPI.descripcion,SUM(D.CFDV_CANTIDAD) FROM empresa e,productos P, tipo_pintura TPI,DETALLE D, pintura PIN WHERE d.cod_pro= p.cod_pro AND p.cod_pro= PIN.cod_pro AND pin.cod_tipo_pintura= tpi.cod_tipo_pintura and e.cod_emp= p.cod_emp GROUP BY tpi.descripcion,e.nom_emp having sum(d.cfdv_cantidad)>=all(SELECT SUM(D.CFDV_CANTIDAD) FROM empresa e1,productos P, tipo_pintura TPI,DETALLE D, pintura PIN WHERE d.cod_pro= p.cod_pro AND p.cod_pro= PIN.cod_pro AND pin.cod_tipo_pintura= tpi.cod_tipo_pintura and e1.cod_emp= p.cod_emp and e.nom_emp= e1.nom_emp GROUP BY tpi.descripcion,e1.nom_emp);

El tipo de pintura que ms se vende en dlares de cada una de las empresas


SELECT e.nom_emp,TPI.descripcion,SUM(D.CFDV_CANTIDAD* d.cfdv_precio_unitario) FROM empresa e,productos P, tipo_pintura TPI,DETALLE D, pintura PIN WHERE d.cod_pro= p.cod_pro AND p.cod_pro= PIN.cod_pro AND pin.cod_tipo_pintura= tpi.cod_tipo_pintura and e.cod_emp= p.cod_emp GROUP BY tpi.descripcion,e.nom_emp having sum(d.cfdv_cantidad* d.cfdv_precio_unitario)>=all(SELECT SUM(D.CFDV_CANTIDAD* d.cfdv_precio_unitario) FROM empresa e1,productos P, tipo_pintura TPI,DETALLE D, pintura PIN WHERE d.cod_pro= p.cod_pro AND p.cod_pro= PIN.cod_pro AND pin.cod_tipo_pintura= tpi.cod_tipo_pintura and e1.cod_emp= p.cod_emp and e.nom_emp= e1.nom_emp GROUP BY tpi.descripcion,e1.nom_emp);

El tipo de accesorio ms vendido en cantidad de cada una las empresas


SELECT e.nom_emp, ta.cod_tipo_acc,SUM(D.CFDV_CANTIDAD) 19

FROM productos p, tipo_accesorio ta,detalle d, accesorios a, empresa e WHERE d.cod_pro= p.cod_pro AND p.cod_pro= a.cod_pro AND a.cod_tipo_acc= ta.cod_tipo_acc and e.cod_emp=p.cod_emp GROUP BY ta.cod_tipo_acc, e.nom_emp having sum(d.cfdv_cantidad)>=all (SELECT SUM(D.CFDV_CANTIDAD) FROM productos p, tipo_accesorio ta,detalle d, accesorios a, empresa e1 WHERE d.cod_pro= p.cod_pro AND p.cod_pro= a.cod_pro AND a.cod_tipo_acc= ta.cod_tipo_acc and e1.cod_emp=p.cod_emp and e.nom_emp = e1.nom_emp GROUP BY ta.cod_tipo_acc, e1.nom_emp);

El tipo de accesorio ms vendido en dlares de cada una de las empresas


SELECT e.nom_emp, ta.cod_tipo_acc,SUM(D.CFDV_CANTIDAD*d.cfdv_precio_unitario) FROM productos p, tipo_accesorio ta,detalle d, accesorios a, empresa e WHERE d.cod_pro= p.cod_pro AND p.cod_pro= a.cod_pro AND a.cod_tipo_acc= ta.cod_tipo_acc and e.cod_emp=p.cod_emp GROUP BY ta.cod_tipo_acc, e.nom_emp having sum(D.CFDV_CANTIDAD*d.cfdv_precio_unitario)>=all (SELECT SUM(D.CFDV_CANTIDAD*d.cfdv_precio_unitario) FROM productos p, tipo_accesorio ta,detalle d, accesorios a, empresa e1 WHERE d.cod_pro= p.cod_pro AND p.cod_pro= a.cod_pro AND a.cod_tipo_acc= ta.cod_tipo_acc and e1.cod_emp=p.cod_emp and e.nom_emp = e1.nom_emp GROUP BY ta.cod_tipo_acc, e1.nom_emp);

20

Preguntas del examen del otro curso. 1.- Cul es la empresa que ms nmero de productos vendi durante el presente mes? SELECT e.nom_emp, df.cantidad_detalle_factura,f.fecha_factura FROM empresa e, encab_f_ven f, detalle_f_ven df WHERE e.id_empresa=f.id_empresa AND f.id_fact_ve=df.id_fact_ve AND df.id_det_ve =(SELECT id_det_ve FROM detalle_f_ven WHERE cantidad_detalle_factura=(SELECT MAX(df.cantidad_detalle_factura) FROM detalle_f_ven df)) AND f.fecha_factura BETWEEN '01/07/2011' AND '31/07/2011';

2.- Cual es el producto menos vendido en cada empresa en nmeros de unidades. select e.nom_emp, p.nom_pro, sum(df.cantidad_detalle_factura) from producto p, detalle_f_ven df,empresa e where df.id_producto= p.id_producto and e.id_empresa= p.id_empresa group by p.nom_pro, e.nom_emp having sum(df.cantidad_detalle_factura)>=all(select sum(df1.cantidad_detalle_factura) from producto p1, detalle_f_ven df1,empresa e1 where df1.id_producto= p1.id_producto and e1.id_empresa= p1.id_empresa and e.nom_emp= e1.nom_emp group by p1.nom_pro, e1.nom_emp);

3.- Cual es el producto ms rentable de todas las empresas. select p.nom_pro,p.id_producto, sum((dv.cantidad_detalle_factura*dv.precio_unitario)(dv.cantidad_detalle_factura*dc.precio_unitario)) "rentabilidad" from detalle_f_ven dv, detalle_compra dc, producto p where dv.id_producto= p.id_producto and dc.id_producto= p.id_producto group by p.id_producto, p.nom_pro having sum((dv.cantidad_detalle_factura*dv.precio_unitario)(dv.cantidad_detalle_factura*dc.precio_unitario)) >= all(select sum((dv1.cantidad_detalle_factura*dv1.precio_unitario)(dv1.cantidad_detalle_factura*dc1.precio_unitario)) from detalle_f_ven dv1, detalle_compra dc1, producto p1 where dv1.id_producto= p1.id_producto and dc1.id_producto= p1.id_producto group by p1.id_producto,p1.nom_pro);

21

4.- quien es el cliente que ms compra en cada empresa. select e.nom_emp, cl.nom_cli, cl.codigo_cliente, sum (dfv.cantidad_detalle_factura* dfv.precio_unitario) from cliente cl, Encab_f_ven efv, detalle_f_ven dfv, empresa e where cl.id_cliente = efv.id_cliente and dfv.id_fact_ve = efv.id_fact_ve and e.id_empresa= efv.id_empresa group by e.nom_emp, cl.nom_cli, cl.codigo_cliente having sum (dfv.cantidad_detalle_factura* dfv.precio_unitario)>= all(select sum (dfv.cantidad_detalle_factura* dfv.precio_unitario) from cliente cl, Encab_f_ven efv, detalle_f_ven dfv, empresa e1 where cl.id_cliente = efv.id_cliente and dfv.id_fact_ve = efv.id_fact_ve and e1.id_empresa= efv.id_empresa and e.nom_emp= e1.nom_emp group by e1.nom_emp, cl.nom_cli, cl.id_cliente);

5.-Quien es el proveedor que nos vende el producto menos vendido en nmero de unidades en cada empresa. SELECT e.nom_emp,nombre_distribuidor, nom_pro FROM distribuidor d, producto p, encabe_fac_com ec, detalle_compra dc, empresa e WHERE dc.id_producto = p.id_producto AND dc.id_fac_com = ec.id_fac_com AND ec.id_distribuidor = d.id_distribuidor and e.id_empresa= ec.id_empresa AND dc.id_producto in (SELECT p.id_producto FROM producto p, detalle_f_ven dv, empresa e WHERE p.id_producto = dv.id_producto and p.id_empresa=e.id_empresa GROUP BY p.id_producto,e.nom_emp HAVING SUM(cantidad_detalle_factura) <= ALL(SELECT SUM(cantidad_detalle_factura) FROM detalle_f_ven dfv,encab_f_ven efv,empresa e1 where e1.id_empresa=efv.id_empresa and dfv.id_fact_ve=efv.id_fact_ve and e.nom_emp=e1.nom_emp GROUP BY id_producto));

22

Consultas del primer hemisemestre --1.- CUAL ES EL DIA QUE MAS SE VENDIO EN NUMERO DE UNIDADES. SELECT fecha_factura, SUM(cantidad_detalle_factura) FROM detalle_f_ven df, encab_f_ven ef WHERE df.id_fact_ve = ef.id_fact_ve GROUP BY fecha_factura HAVING SUM(cantidad_detalle_factura) >= ALL (SELECT SUM(cantidad_detalle_factura) FROM detalle_f_ven x, encab_f_ven y WHERE x.id_fact_ve = y.id_fact_ve GROUP BY fecha_factura); --2.-QUIEN ES EL PROVEEDOR A QUIEN MAS NUMERO DE UNIDADES SE LE COMPRA. SELECT nombre_distribuidor, COUNT(*) FROM detalle_compra dc, encabe_fac_com ec, distribuidor d WHERE dc.id_fac_com = ec.id_fac_com AND ec.id_distribuidor = d.id_distribuidor GROUP BY nombre_distribuidor HAVING COUNT(*) >= ALL (SELECT COUNT(*) FROM encabe_fac_com GROUP BY id_distribuidor); --3.-CUAL ES EL PRODUCTO MAS VENDIDO (MAYOR MONTO EN VENTAS) EN DOLARE. SELECT nom_pro, SUM(precio_detalle_facura) FROM producto p, detalle_f_ven dv WHERE p.id_producto = dv.id_producto GROUP BY nom_pro HAVING SUM(precio_detalle_facura) >= ALL (SELECT SUM(precio_detalle_facura) FROM detalle_f_ven GROUP BY id_producto); --4.-QUIEN ES EL PROVEEDOR QUE LE VENDE A LA EMPRESA EL PRODUCTO MAS VENDIDO EN NUMERO DE UNIDADES. SELECT nombre_distribuidor, nom_pro FROM distribuidor d, producto p, encabe_fac_com ec, detalle_compra dc WHERE dc.id_producto = p.id_producto AND dc.id_fac_com = ec.id_fac_com AND ec.id_distribuidor = d.id_distribuidor AND dc.id_producto = (SELECT x.id_producto FROM producto x, detalle_f_ven y WHERE y.id_producto = x.id_producto GROUP BY x.id_producto HAVING SUM(cantidad_detalle_factura) >=all (SELECT SUM(cantidad_detalle_factura) FROM detalle_f_ven z, encab_f_ven w WHERE z.id_fact_ve = w.id_fact_ve GROUP BY id_producto) ); --5.- CUALES SON LAS VENTAS EN DOLARES POR TIPO DE PRODUCTOS SELECT tp.nom_tip_p,sum(dv.cantidad_detalle_factura* dv.precio_detalle_facura) FROM producto p, detalle_f_ven dv,tipo_producto tp WHERE dv.id_producto = p.id_producto and p.id_tipo_producto=tp.id_tipo_producto group by tp.nom_tip_p; 23

Potrebbero piacerti anche