Ver Mensaje Individual
  #10 (permalink)  
Antiguo 02/02/2010, 16:23
Sofmundi
 
Fecha de Ingreso: enero-2010
Mensajes: 302
Antigüedad: 14 años, 3 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