Hola qué tal.
Bienvenidos a este nuevo capítulo del curso completo de base de datos y lo que vamos a ver ahora es
el segundo capítulo de ejercicios en esta oportunidad vamos a hacer ejercicios uniendo dos o más tablas
vamos a ir rápidamente al primer ejercicio que dice lo siguiente tienen que traer fecha de factura número
de factura Heydi de cliente.
La razón social del cliente y el monto total vendido vamos a tener este primer ejercicio sin condiciones.
No pusimos ninguna condición que requiera de la cláusula Werth pero ya empezamos con el ejercicio más
sencillo tranquilos que se va a ir complicando.
Así que pongan pausa en este momento y nos vemos en unos minutos cuando lo hayan resuelto.
Cómo les fue esto.
Tiene que haber sido algo relativamente sencillo no y si venimos siguiendo el curso.
Este ejercicio tiene que haber sido relativamente sencillo vamos a ver cómo se hace lo primero.
Obviamente nuestra instrucción Selleck y nos da una idea de la cantidad de campos que necesitamos.
Necesitamos ventas fecha vamos a ponerle un alias.
Fecha necesitamos ventas número factura haz factura le vamos a poner de nombre.
Necesitamos además el campo ventas ID de cliente o cliente a Ibid
al cliente.
Necesitamos el CLI razón social
le vamos a poner nombre y necesitamos también el monto total vendido.
Mentas ventas total.
Bueno muy bien de qué tabla de la tabla ventas.
Y ahora vamos a hacer un Yeung que una nuestra tabla ventas con la tabla clientes
ver si eran clientes o Cleary de Cleary.
Perdona
Heider
perdón son clientes on line.
Es Iguodala CLI.
Muy bien ahí tengo mi tabla clientes tengo unida la tabla ventas y esto es todo lo que tenían que haber
hecho en este ejercicio.
Lo vamos a ejecutar y aquí tenemos nuestras facturas con su fecha el Leidi de cliente el nombre del
cliente y el monto total de factura.
Si ustedes no lo hicieron así esta es la manera correcta de hacerlo.
Quizás no usaron los mismos alias no importa pero los campos son estos 5.
La tabla de frames ventas y el Shaina hay que hacerlo a la tabla.
Clientes uniendo estos dos campos.
Bueno muy bien vamos a ver el segundo ejercicio este.
Este capítulo tiene 13 ejercicios solamente porque son complejos ya no estamos en ejercicios de una
sola tabla así que tampoco los quiero agobiar con muchos ejercicios quiero que ustedes se pongan sus
propios ejercicios.
También vamos a ver nuestro tercer ejercicio vamos a ahorrar aquí nuestro segundo ejercicio.
El segundo ejercicio dice traer fecha de factura número de factura.
Hasta ahí viene igual que antes.
Hay día de producto descripción del producto Heydi del proveedor nombre del proveedor la cantidad el
precio unitario y el parcial que era la cantidad multiplicado por el precio.
Aquí les he dado una ayudita bueno quizá es algo bastante más complejo.
Así que no tómense todo el tiempo que necesiten cuando ya lo hayan resuelto o crean que lo han resuelto.
Le dan play al video ahora con lo que pasa y nos vemos en unos minutos bueno cómo ha funcionado esto.
Cómo les ha ido con esto.
Esto es más complejo.
Yo lo reconozco y el último es mucho más complejo el número 3.
Pero bueno vamos a tratar de ir resolviendo este vamos a colocar nuestra inefable sentencia SELECT.
Vamos a poner el ventas factura fecha.
Perdón es el primer dato que nos ha pedido.
Luego nos ha pedido números factura.
Ahora nos ha pedido Leydi de producto y Leidi de producto en una factura lo tengo en la tabla de ventas
de detalle.
Entonces yo voy a tener que colocar el campo BD y bajo Prot aided.
Este es mi campo de producto.
Vamos a colocarles un alias para que quede bonito.
A este le llamamos fecha.
A esto le llamamos factura.
Esto nos acomodamos abajo le ponemos producto o código sería
sería lo más razonable.
Luego tenemos que poner la descripción del producto la descripción del producto de la voy a tener que
ir a buscar a la tabla productos
muy bien tengo la descripción que más nos ha pedido nos ha pedido el Heydi de proveedor.
Lo saco de la Tabla Productos el Provider
vamos así.
Ahora nos pide el nombre el proveedor eso sale de proveedores Provigo nombre que más nos ha pedido nos
ha pedido por ejemplo la cantidad.
Eso sale de la tabla ventas detalle
hacerlo así tanto nos ha pedido también.
Por ejemplo yo no sé si acá no me va no me va a hacer problema por las dudas lo coloca entre comillas
por el punto no creo que haya por las dudas cuando tienen dudas no lo ejecutan directamente lo colocan
entre comillas y después no se ha pedido el precio unitario
vamos a ponerle unitario y después nos ha pedido el parcial y como era el parcial el parcial sin usar
el Shum coloco bebé cantidad por precio A-Z parcial.
Muy bien eso es toda nuestra lista de campos que tenemos que poner en nuestra sentencia SQL.
Ahora vamos a ver las uniones las uniones son simples vamos a primero en nuestra tabla principal cual
es la tabla de ventas de factura la tabla ventas colocamos ventas muy bien y ahora vamos a hacer soy
vamos a hacer un Yeung de la tabla ventas detalle on BD ventas aided es igual a ventas a ibid..
Vamos a corroborar siempre pueden corroborar sin necesidad de perder lo que están escribiendo muy bien
vamos a hacer otro Yeung a la Tabla Productos
on desde donde de mi tabla de ventas detalle.
Pero ahí es igual al aprobado hoy del vamos a hacer otro Yeung pero ahora vamos a unir a la tabla proveedores
desde donde desde la Tabla Productos
se entiende esto.
Estoy encadenando una tabla con tres tablas más totalizando cuatro tablas y tengo que respetar el orden.
Recuerden lo que habíamos dicho que si yo aquí por ejemplo coloco primero la tabla proveedores y les
digo que se que se une a través de la tabla producto va a decir pero si la tabla producto todavía no
está unida eso hay que respetarlo de venta vamos al detalle es como que lo vamos vamos siguiendo el
caminito de ventas nos vamos al detalle en el detalle en el detalle que tengo.
Tengo la idea de producto muy bien de ahí nos vamos a unir a la tabla producto de la tabla producto
que tengo el aire de proveedor.
Bueno ahí unimos la tabla proveedor ese es el camino lógico que tenemos que seguir y que tenemos que
respetar si no nos va a dar error bueno y vamos a ejecutar esto a ver qué es lo que no sale.
Y aquí tenemos vamos a ampliar un poquito por aquí.
Bueno tenemos nuestra fecha tenemos el número de la factura el código de producto la descripción la
cantidad el precio unitario el código de proveedor el nombre proveedor y después tenemos el parcial.
Esto lo podríamos acomodar de otra manera vamos a ponerlo aquí para que salga ordenado bueno ahí tenemos
cantidad unitario y nuestro parcial fíjense que está haciendo bien la multiplicación y esto es todo
lo que tenían que hacer en el ejercicio.
Fíjense que no es tan sencillo como el ejemplo anterior y ahora vamos a ver un tercer y último ejercicio
de este capítulo donde ponemos un poquito más compleja la cosa bueno muy bien y ahora vamos al tercer
ejercicio este es más complejo este vamos a tener que usar todo tipo de cláusulas.
Pero bueno vamos al planteo el planteo dice traer todos los productos que hayan sido vendidos entre
el 14 del 1. del 2018 y el 16 del 1. del 2018 sin repetir y calculando la cantidad de unidades vendidas.
Bueno tómense su tiempo vamos a pasar el video van a pasar ustedes el video tómense su tiempo prueben
no hasta que les salga hasta inclusive pueden ir a capítulos anteriores y refrescar algunos conocimientos
pero van a ver que no es tan difícil porque al principio los planteos parecen muy difíciles hasta que
empezamos a encontrar el caminito pongan pasa ahora nos vemos en unos minutos y retomamos bueno cómo
le fue.
Vamos a ver esto es el más difícil esto es lo más difícil pero vamos de a poquito vamos a colocar nuestra
instrucción Cele primero vamos a ver qué campo nos pide nos pide en primer lugar traer todos los productos
por productos vamos a colocar el aire y la descripción nada más nos vamos a colocar todos los campos.
Si ustedes colocaron todos los campos no está mal tampoco porque no se aclaró pero yo voy a poner el
PRO el Prado hay dicho código vamos a ir acá abajo Prot descripción descripción y ahora me pide como
tercer dato bastante importante quiere saber la cantidad de unidades vendidas las unidades vendidas
es la suma del campo cantidad de mi tabla ventas detalle esas son las unidades que yo vendía de cada
producto.
Entonces tengo que hacer una suma de bebé cantidad A-Z vamos a ponerlo así
Cardero muy bien eso es todo eso son los tres campos que yo necesito.
Ahora viene lo difícil que es unir y poner las condiciones porque hay condiciones.
Vamos a hacer un from productos porque yo lo que tengo que recorrer es mi tabla productos tengo que
mostrar los productos.
Entonces una vez que recorro mi tabla productos y voy buscando la tabla de ventas cuáles son los productos
vendidos.
Alguien les dirá no conviene empezar al revés conviene recorrer la tabla de venta de detalle y en base
a eso para qué voy a leer un producto en la tabla productos que seguramente no está en la tabla de ventas
es discutible y esto la discusión termina cuando uno dice que en la tabla producto quizás hay ocho mil
registros y en la tabla de detalle de ventas hay 100 mil o un millón de registros.
Ahí se acabó la discusión entonces vamos a recorrer nuestra tabla productos que es el camino más rápido
o que vamos a recorrer nuestra tabla productos y la vamos a unir a la tabla ventas detalle.
Por qué.
Porque en la tabla ventas detalles tengo el código de producto vendido en mi factura y las vamos a unir
de acuerdo a Deivid de la tabla venta detalles a y ideal que es el campo clave de mi tabla productos
pero aquí no termina la cosa porque yo ya mis productos a mi tabla de venta de detalle pero yo estoy
pidiendo en el ejercicio que solamente me traiga la suma de las unidades vendidas de los productos que
se han vendido en un rango de fechas y la fecha de factura no está en el detalle está en la cabecera
de factura.
Entonces voy a ir a la tabla ventas donde ventas aided donde ventas Eiriz se iguala ventas a nivel se
entiende esto.
Aquí me equivoqué.
Ahora estamos bien muy bien.
Yo ya tengo mis tres tablas unidas y tengo los tres campos que si yo lo corro ahora me lo va a traer
pero no me va a traer lo que yo quiero.
Por qué.
Porque yo tengo que el ejercicio dice que no hay que repetir el código de producto y si yo corro esto
me va a traer el código producto de repetido n veces entonces además va a haber una inconsistencia me
va a duplicar registros con él con el código de producto pero me va a sumar en el mismo proceso todas
las unidades vendidas.
La información que me va a mostrar va a ser bastante inconsistente.
Entonces lo que tenemos que hacer es a este resultado agruparlos agruparlos porque por el código de
producto.
Si yo logro lo agrupo por el código de producto el código de producto va a ser único y me va a sumar
correctamente el campo de cantidad para darme las unidades vendidas.
Colocón Group 20
de código le pongo directamente el alias así no escribo tanto bueno y con esto ya tenemos todo.
Qué vamos a hacer ahora con esto vamos a ejecutarlo y van a ver que me trae un solo producto ordenado
porque obviamente al estar recorriendo la Tabla Productos por su clave me lo va a traer todo ordenado
y me lo va a traer agrupado y las unidades vendidas vamos a ejecutarlo.
No tardó nada tardó 23 décimas de segundo y me trajo todos los productos ordenados que tuvieron venta
con sus unidades vendidas.
Fíjense que ninguno tiene cero porque no estoy trayendo.
No estoy haciendo un Left Chain.
No estoy trayendo la totalidad de los productos no me interesa saber la totalidad de los productos para
que me ponga un Nul en unidades vendidas.
Yo quiero saber solo los que he vendido.
Si hubiera querido la totalidad de los productos lo único que tenía que haber hecho aquí es agregaron
Leff Shayne a cada una de las tablas se entiende ahora tengo solamente mil 198 productos que son los
productos que yo he vendido.
Se entiende el ejercicio esto es lo que tenían que haber hecho.
Esto es vecino.
No lo hicieron así no importa porque al hacerlo ahora en línea ustedes pueden aprender el porqué de
cada uno de los campos como lo pusimos como hicimos la unión de tablas y demás así que bueno los invito
a la próxima clase donde vamos a seguir haciendo más y más ejercicios.
Falta poco y después nos espera una última sección para ver algunos detalles hitos importantes del Jaydy
SQL que quizás quedaron sueltos y vamos a cerrar todo el paquete para que ustedes no tengan ninguna
duda de lo importante en estos temas que es el Jaydy SQL el mail cicle y sobre todo el lenguaje SQL
nos vemos en el próximo capítulo.