SQL - script - practica 1

From Ibbddunq

(Difference between revisions)
Line 20: Line 20:
** lo mismo ordenado x cod cliente y fecha.
** lo mismo ordenado x cod cliente y fecha.
** lo mismo ordenado x cantidad de la compra más grande a la mäs chica.
** lo mismo ordenado x cantidad de la compra más grande a la mäs chica.
-
** <prod, stkmin, codCli, nomCli, numFact, fecha, cant> para los productos de stk minimo < 20, ordenado x producto y fecha.
+
 
 +
* <prod, stkmin, codCli, nomCli, numFact, fecha, cant> para los productos de stk minimo < 20, ordenado x producto y fecha.
* codigo y nombre de clientes que compraron Bidu o Vitina, sin repetidos.
* codigo y nombre de clientes que compraron Bidu o Vitina, sin repetidos.
* codigo, nombre, cod contacto o "SIN CONTACTO".
* codigo, nombre, cod contacto o "SIN CONTACTO".
-
* <numFact, deposito, producto, stock> para todos los productos en el dep de la factura, para cada factura de menos de 100 pesos.
+
 
 +
* <numFact, deposito, producto, cantidad en la factura, stock en el depósito de la factura> para cada item de cada factura de menos de 100 pesos, ordenado por numFact y nombre producto.
* <codCli, nomCli, compraMaxima, nomProd, precio * 1000> para cada combinación tal que el cliente puede comprar 1000 unidades del producto, tomando los precios al 01/05/2008.
* <codCli, nomCli, compraMaxima, nomProd, precio * 1000> para cada combinación tal que el cliente puede comprar 1000 unidades del producto, tomando los precios al 01/05/2008.
* <prod, cant, unitario, total item> para los items de la factura 1.
* <prod, cant, unitario, total item> para los items de la factura 1.
Line 31: Line 33:
* <numFact, prod1, prod2, cantidad> para las facturas que tienen la misma cantidad de dos productos (me los va a tirar al derecho y al revés, y todas las combinaciones, todo OK)
* <numFact, prod1, prod2, cantidad> para las facturas que tienen la misma cantidad de dos productos (me los va a tirar al derecho y al revés, y todas las combinaciones, todo OK)
* codigo, nombre, cod contacto, nom contacto para los clientes con contacto
* codigo, nombre, cod contacto, nom contacto para los clientes con contacto
 +
* nombre y stock mínimo para todos los productos que: o bien tienen más de 20 unidades en el depósito de Dominico, o bien el cliente 1 hizo una compra por más de 20 unidades. Ordenar por nombre del producto. Sin repetidos.
 +
* Comparativo del stock de Dominico y Bernal, o sea <nomProd, stockDominico, stockBernal>, para los productos con stock en ambos depósitos.
 +
 +
== para practicar left join y right join ==

Revision as of 19:48, 6 October 2008

Contents

Esquema que usamos

Tablas iniciales

   producto <nomProd, stkMinimo>
   stock <nomProd, deposito, cantidad>
   precioProducto <nomProd, desdeFecha, hastaFecha, precio>

Agregamos estas tablas

   cliente <codCli, nomCli, localidad, compraMaxima, codCliContacto>
      codCliContacto puede ser null
   factura <numFact, fecha, importe, codCli, deposito>
   itemFactura <numFact, nomProd, cantidad>

Queries para practicar joins y cuestiones básicas

Qué practicamos: condiciones, join natural, operaciones en una fila, ordenamiento, IFNULL, join moñito

  • codigo y nombre de los clientes que compraron Bidu, sin repetidos, ordenados x nombre.
    • idem que compraron Bidu en junio de 2008
    • idem que hicieron facturas sobre el deposito de Dominico.
  • <codCli, nomCli, numFact, fecha, importe, compraMaxima, diferencia> para las facturas que superan el maximo del cliente, ordenadas x nro de factura.
  • <codCli, nomCli, numFact, fecha, cantidad> para las compras de Bidu, ordenadas x fecha y cod cliente.
    • lo mismo ordenado x cod cliente y fecha.
    • lo mismo ordenado x cantidad de la compra más grande a la mäs chica.
  • <prod, stkmin, codCli, nomCli, numFact, fecha, cant> para los productos de stk minimo < 20, ordenado x producto y fecha.
  • codigo y nombre de clientes que compraron Bidu o Vitina, sin repetidos.
  • codigo, nombre, cod contacto o "SIN CONTACTO".
  • <numFact, deposito, producto, cantidad en la factura, stock en el depósito de la factura> para cada item de cada factura de menos de 100 pesos, ordenado por numFact y nombre producto.
  • <codCli, nomCli, compraMaxima, nomProd, precio * 1000> para cada combinación tal que el cliente puede comprar 1000 unidades del producto, tomando los precios al 01/05/2008.
  • <prod, cant, unitario, total item> para los items de la factura 1.

para practicar alias de tablas y unión

  • <nro de factura, fecha, cantidad de bidu, cantidad de vitina> para las facturas que incluyen ambos productos.
  • <numFact, prod1, prod2, cantidad> para las facturas que tienen la misma cantidad de dos productos (me los va a tirar al derecho y al revés, y todas las combinaciones, todo OK)
  • codigo, nombre, cod contacto, nom contacto para los clientes con contacto
  • nombre y stock mínimo para todos los productos que: o bien tienen más de 20 unidades en el depósito de Dominico, o bien el cliente 1 hizo una compra por más de 20 unidades. Ordenar por nombre del producto. Sin repetidos.
  • Comparativo del stock de Dominico y Bernal, o sea <nomProd, stockDominico, stockBernal>, para los productos con stock en ambos depósitos.

para practicar left join y right join

Personal tools