1. Añadir a la oficina 40 otro empleado, Luis Valverde, con número de empleado 436, con los mismos datos que el anterior pero su jefe será el director de la oficina 40 (no sabemos qué número tiene).
INSERT INTO empleados (numemp, nombre, titulo, contrato, ventas, cuota, oficina, jefe) SELECT 436, 'Luis Valverde','Vendedor', GETDATE(), 0, 1200.45, 40, dir FROM oficinas WHERE oficina = 40;
2. Pasar los pedidos de octubre 1989 a diciembre 2008. (3 filas afectadas)
UPDATE pedidos SET fechapedido=DATEADD(month,230,fechapedido) WHERE year(fechapedido)=1989 and month(fechapedido)=10;
3. Queremos actualizar el importe de los pedidos del mes actual con el precio almacenado en la tabla productos.
SELECT codigo, numpedido,fechapedido,cant, importe,importe/cant AS [precio pedido],precio FROM pedidos inner join productos ON fab=idfab and producto = idproducto WHERE YEAR(fechapedido)=YEAR(GETDATE()) and MONTH(fechapedido)=MONTH(GETDATE())
Actualizar después la tabla de pedidos cambiando los importes para que el precio unitario corresponda con el precio del producto. Los pedidos de los productos que no tienen precio se quedarán como estaban. (3 filas afectadas)
UPDATE pedidos SET importe=cant*precio FROM pedidos inner join productos ON fab=idfab and producto = idproducto WHERE year(fechapedido)=2008 and month(fechapedido)=12 AND precio IS NOT NULL;
4. Se ven algunos productos que no tienen precio, ahora vamos a actualizar el precio de estos productos con el precio medio utilizado en los pedidos donde aparecen. La primera SELECT saca los productos que queremos actualizar con los pedidos correspondientes.
SELECT idfab, idproducto, precio, codigo, numpedido,fechapedido,importe, importe/cant FROM productos left join pedidos on idfab=fab AND idproducto=producto WHERE precio IS NULL; UPDATE productos SET precio = (SELECT ROUND(AVG(importe/cant),2) FROM pedidos WHERE fab=idfab AND producto=idproducto) WHERE precio IS NULL
Síguenos en: Facebook Sobre aulaClic Política de Cookies
© aulaClic. Todos los derechos reservados. Prohibida la reproducción por cualquier medio.