Ayuda ejercicios unidad 7: Actualización de datos (I)


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

   Inicio  Adelante





Página inicial  Cursos Informática Gratuitos

Síguenos en:   Facebook       Sobre aulaClic            Política de Cookies


© aulaClic. Todos los derechos reservados. Prohibida la reproducción por cualquier medio.