Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/05/2011, 13:19
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: Traer en un select codigo de algun catalogo y ultima fecha de movimiento.

Hola etrasvina:

Creo que lo único que tendrías que hacer es obtener un max(factura) y max(fecha), más o menos así:

Código MySQL:
Ver original
  1. mysql> create table clientes (cliente int, nombre varchar(10));
  2. Query OK, 0 rows affected (0.11 sec)
  3.  
  4. mysql> insert into clientes values (25, 'Juan'), (33, 'Luis'), (68, 'Pedro');
  5. Query OK, 3 rows affected (0.03 sec)
  6. Records: 3  Duplicates: 0  Warnings: 0
  7.  
  8. mysql> select * from clientes;
  9. +---------+--------+
  10. | cliente | nombre |
  11. +---------+--------+
  12. |      25 | Juan   |
  13. |      33 | Luis   |
  14. |      68 | Pedro  |
  15. +---------+--------+
  16. 3 rows in set (0.00 sec)
  17.  
  18. mysql> create table facturas (factura int, cliente int, fecha date);
  19. Query OK, 0 rows affected (0.05 sec)
  20.  
  21. mysql> insert into facturas values (320, 25, '2011-05-20'),
  22.     -> (350, 25, '2011-05-24'),
  23.     -> (380, 25, '2011-05-30'),
  24.     -> (334, 33, '2011-05-22'),
  25.     -> (356, 33, '2011-05-24'),
  26.     -> (368, 68, '2011-05-26'),
  27.     -> (372, 68, '2011-05-28');
  28. Query OK, 7 rows affected (0.01 sec)
  29. Records: 7  Duplicates: 0  Warnings: 0
  30.  
  31. mysql> select * from facturas;
  32. +---------+---------+------------+
  33. | factura | cliente | fecha      |
  34. +---------+---------+------------+
  35. |     320 |      25 | 2011-05-20 |
  36. |     350 |      25 | 2011-05-24 |
  37. |     380 |      25 | 2011-05-30 |
  38. |     334 |      33 | 2011-05-22 |
  39. |     356 |      33 | 2011-05-24 |
  40. |     368 |      68 | 2011-05-26 |
  41. |     372 |      68 | 2011-05-28 |
  42. +---------+---------+------------+
  43. 7 rows in set (0.00 sec)
  44.  
  45. mysql> #sin grupar
  46. mysql> select c.cliente, c.nombre, f.factura, f.fecha from
  47.     -> clientes c inner join facturas f on c.cliente = f.cliente;
  48. +---------+--------+---------+------------+
  49. | cliente | nombre | factura | fecha      |
  50. +---------+--------+---------+------------+
  51. |      25 | Juan   |     320 | 2011-05-20 |
  52. |      25 | Juan   |     350 | 2011-05-24 |
  53. |      25 | Juan   |     380 | 2011-05-30 |
  54. |      33 | Luis   |     334 | 2011-05-22 |
  55. |      33 | Luis   |     356 | 2011-05-24 |
  56. |      68 | Pedro  |     368 | 2011-05-26 |
  57. |      68 | Pedro  |     372 | 2011-05-28 |
  58. +---------+--------+---------+------------+
  59. 7 rows in set (0.00 sec)
  60.  
  61. mysql> #agrupando y obteniendo el MAX(fecha) y MAX(factura)
  62. mysql> select c.cliente, c.nombre,
  63.     -> max(f.factura) factura,
  64.     -> max(f.fecha) fecha from
  65.     -> clientes c inner join facturas f on c.cliente = f.cliente
  66.     -> group by c.cliente, c.nombre;
  67. +---------+--------+---------+------------+
  68. | cliente | nombre | factura | fecha      |
  69. +---------+--------+---------+------------+
  70. |      25 | Juan   |     380 | 2011-05-30 |
  71. |      33 | Luis   |     356 | 2011-05-24 |
  72. |      68 | Pedro  |     372 | 2011-05-28 |
  73. +---------+--------+---------+------------+
  74. 3 rows in set (0.00 sec)

Haz la prueba y nos comentas.

Saludos
Leo.