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. | ||
* 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 | + | |
+ | * <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.