Está en la página 1de 3

BD Jardineria:

1. Crea una vista llamada ClientesMadrid que permita acceder a los datos de CdigoCliente, NombreCliente, Telfono de los clientes de la comunidad de Madrid. CREATE VIEW ClientesMadrid AS SELECT Codigocliente, NombreCliente, Telefono FROM Clientes WHERE regin = Madrid; 2. Crea una vista llamada ClientesMadridTacaos que permita acceder a los datos de CdigoCliente, NombreCliente, Telfono de los clientes de la comunidad de Madrid que no hayan efectuado pedidos. CREATE VIEW ClientesMadridTacaos AS SELECT CodigoCliente, NombreCliente, Telefono FROM Clientes WHERE regin = Madrid AND CodigoCliente NOT IN (SELECT CodigoCliente FROM pedidos); El NOT IN sirve para llamar a los que NO estn o NO tengan que estar en esa tabla

3. Crea una vista llamada ClientesMadridBuenos que permita acceder a los datos de CdigoCliente, NombreCliente, Telfono de los clientes de la comunidad de Madrid que hayan efectuado pagos. SELECT CodigoCliente, NombreCliente, Telefono FROM Clientes JOIN pagos ON clientes.codigocliente=pagos.codigocliente WHERE regin = Madrid; Para saber si est en otra tabla (el contrario del NOT IN) utiliza el INNER JOIN (JOIN) 4. Crea una vista llamada ProductosChungos que permita acceder a los datos de los productos de los que no se haya conseguido vender nada. CREATE VIEW ProductosChungos AS SELECT * FROM Productos WHERE CodigoProducto NOT IN (SELECT CodigoProducto FROM detallespedidos);

5. Crea una vista llamada TelefonosEmpleados que permita acceder a los datos de Nombre, Apellido1, Apellido2, Telfono de la oficina y Extensin de todos los empleados. CREATE VIEW TelefonosEmpleados AS SELECT Nombre, Apellido1, Apellido2, oficinas.telefono, extensin FROM Empleados JOIN oficinas ON empleados.codigoOficina=oficinas.codigoOficina;

6. Crea una vista llamada EmpleadosPasivos que permita acceder a los datos de Nombre, Apellido1, Apellido2, Telfono de la oficina y Extensin de los empleados que siendo Representantes de ventas no han conseguido que alguno de sus clientes haya realizado pedidos. CREATE VIEW EmpleadosPasivos AS SELECT Nombre, Apellido1, Apellido2, oficinas.telefono, extensin FROM Empleados JOIN oficinas ON empleados.codigoOficina=oficinas.codigoOficina JOIN clientes ON empleados.codigoempleado=clientes.CodigoEmpleadoRepVentas WHERE puesto LIKE %epresentante AND codigocliente NOT IN (SELECT codigocliente FROM pedidos);

7. Crea una vista llamada JefesPasotas que permita acceder a los datos de Nombre, Apellido1, Apellido2, Telfono de la oficina y Extensin de los jefes de los empleados que son Representantes de ventas y no han conseguido que alguno de sus clientes haya realizado pedidos. Mi versin: SELECT Nombre, Apellido1, Apellido2, oficinas.Telefono, extensin FROM empleados JOIN oficinas ON empleados.codigooficina=oficinas.codigooficina WHERE puesto LIKE %efe AND (SELECT Nombre, Apellido1, Apellido2, oficinas.Telefono, extensin FROM empleados JOIN oficinas ON empleados.codigooficina=oficinas.codigooficina JOIN clientes ON empleados.codigoempleado=clientes.codigoempleadorepventas WHERE puesto LIKE %epresentante AND codigocliente NOT IN (SELECT codigocliente FROM pedidos));

Version buena: CREATE OR REPLACE VIEW JefesPasotas AS SELECT DISTINCT Nombre, Apellido1, Apellido2, Oficinas.Telefono, Extension FROM Empleados NATURAL JOIN Oficinas WHERE CodigoEmpleado IN (SELECT DISTINCT CodigoJefe FROM Empleados INNER JOIN Clientes ON CodigoEmpleado=CodigoEmpleadoRepVentas WHERE Puesto LIKE '%epresentante%' AND CodigoCliente NOT IN (SELECT CodigoCliente FROM Pedidos));

8. Crea una vista llamada EmpleadosCurrantes que permita acceder a los datos de Nombre, Apellido1, Apellido2, Telfono de la oficina y Extensin de los empleados que siendo Representantes de ventas han conseguido que al menos 5 de sus clientes hayan realizado pedidos. SELECT Nombre, Apellido1, Apellido2, telfono, extensin FROM empleados JOIN oficinas ON empleados.codigooficina=oficinas.codigoOficina JOIN clientes ON empleados.codigoempleado=clientes.codigoempleadorepventas WHERE puesto LIKE %epresentante HAVING COUNT (*)>5

9. Crea una vista llamada EmpleadosCansinos que permita acceder a los datos de Nombre, Apellido1, Apellido2, Telfono de la oficina y Extensin de los empleados que siendo Representantes de ventas han conseguido que alguno de sus clientes haya realizado ms de 5 pedidos.

10. Crea una vista llamada EmpleadosSuperCansinos que permita acceder a los datos de Nombre, Apellido1, Apellido2, Telfono de la oficina y Extensin de los empleados que siendo Representantes de ventas han conseguido que alguno de sus clientes haya pedido ms de 200 unidades de algn producto.

También podría gustarte