SQL - script - practica 1
From Ibbddunq
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.