
02/02/2010, 16:23
|
| | Fecha de Ingreso: enero-2010
Mensajes: 302
Antigüedad: 15 años, 2 meses Puntos: 3 | |
Respuesta: Ayuda con esta consulta @jurena es esto
facturas2
|id_articulo | id_descripcion | unidad | descripcion | cantidad|
````````````````````````````````````````````````
1---------------1--------UND-----Licencia-----2
2---------------2--------UND-----Licencia-----2
3---------------2--------UND-----Mouse-------2
activo
| descripcion | cantidad|
```````````````````
Licencia--------4
Mouse----------4
Cd--------------5
Teclado---------7
la consulta deberia decir que coge el numero mayor de facturas del campo id_requisicion la cogerlo compara que los campos descripcion de las dos tablas sean igual y que al ser iguales le resta el valor de la columna cantidad ubicada en facturas2 al campo cantidad de activos que dando asi:
activo
| descripcion | cantidad|
```````````````````
Licencia--------2
Mouse----------2
Cd--------------5
Teclado---------7
claro esta que hago el select max a id_descripcion y me dice que el numero mayor es 2 en este ejemplo pero no se si hacer ese select mas el update de resta se realize bien la actualizacion de los datos con id_requisicion 2
si coloco este codigo que me ayudaste mas una modificacion, me realiza la resta escogiendo todo a los articulos que esten dentro de facturas2 y restandoselos a la tabla activo
UPDATE activo INNER JOIN
(SELECT max(t1.id_requisicion), t1.unidad, t1.descripcion, t1.cantidad FROM
(SELECT id_articulo, id_requisicion, unidad, descripcion, cantidad FROM `facturas2`
ORDER BY id_requisicion DESC)t1
GROUP BY t1.id_articulo, t1.id_requisicion, t1.descripcion)t2 ON activo.descripcion = t2.descripcion
SET activo.cantidad = activo.cantidad - t2.cantidad
Última edición por Sofmundi; 02/02/2010 a las 16:35 |