Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/07/2014, 02:56
johncapi
 
Fecha de Ingreso: enero-2012
Mensajes: 32
Antigüedad: 12 años, 3 meses
Puntos: 1
Problema con diferencia de fechas MySQL y

Hola gente, tengo un problema y no se muy bien como abordarlo. Vereis tengo las siguiente tablas:
Código MySQL:
Ver original
  1. *CLIENTES
  2. +----+--------+------+
  3. | id | nombre | Edad |
  4. +----+--------+------+
  5. |  1 | Marta  |   33 |
  6. |  2 | Pedro  |   22 |
  7. |  3 | Javi   |   39 |
  8. |  4 | Jose   |   41 |
  9. +----+--------+------+
  10.  
  11.  
  12. *PRODUCTOS
  13. +----+--------+------+
  14. | id | nombre | Edad |
  15. +----+--------+------+
  16. |  1 | Marta  |   33 |
  17. |  2 | Pedro  |   22 |
  18. |  3 | Javi   |   39 |
  19. |  4 | Jose   |   41 |
  20. +----+--------+------+
  21.  
  22.  
  23. *COMPRA
  24. +----------+-----------+---------------------+
  25. | idCompra | idCliente | Fecha               |
  26. +----------+-----------+---------------------+
  27. |        1 |         1 | 2014-07-01 10:40:58 |
  28. |        2 |         2 | 2014-07-03 10:41:02 |
  29. |        3 |         1 | 2014-07-13 10:41:16 |
  30. |        4 |         2 | 2014-07-27 10:41:19 |
  31. |        5 |         3 | 2014-07-16 10:41:32 |
  32. +----------+-----------+---------------------+
  33.  
  34.  
  35. *DETALLESCOMPRA
  36. +-----------+----------+------------+--------+
  37. | idDetalle | idCompra | idProducto | precio |
  38. +-----------+----------+------------+--------+
  39. |         1 |        1 |          1 |     18 |
  40. |         1 |        1 |          3 |     15 |
  41. |         1 |        1 |          6 |     11 |
  42. |         2 |        2 |          4 |     40 |
  43. |         3 |        3 |          3 |   14.4 |
  44. |         3 |        3 |          4 |   12.2 |
  45. |         4 |        4 |          5 |    100 |
  46. +-----------+----------+------------+--------+

Y lo que quiero es obtener los datos de la ULTIMA COMPRA realizada por un cliente junto con los detallesCompra de la compra. Es decir, un cliente ha hecho varias compras como es el cliente "1", pues me gustaria tener el SELECT de la compra a fecha de 2014-07-13 17:00:00, pues es la más cercana a la fecha actual (NOW()). Es algo tal que asi, supongo...

Código MySQL:
Ver original
  1. SELECT p.nombre as NombreProducto, d.precioDetalle as Precio
  2. FROM productos p, clientes c, detallesCompra d, compra co
  3. WHERE c.idCliente = 1
  4. AND c.idCliente = co.idCli...etc

Pero no se añadir la clausula de la fecha. He probado con esto:
Código MySQL:
Ver original
  1. SELECT co.idCompra, co.fecha
  2. FROM compra co, clientes ci
  3. WHERE  ci.id=1  
  4. ORDER BY  ABS(DATEDIFF(NOW(), co.fecha)) LIMIT 1
...pero esto hace que cuando en una compra hayan varias lineas de detallesCompra, solo se muestre una.

Alguna solucion?!?

Última edición por gnzsoloyo; 29/07/2014 a las 06:01 Razón: Mal etiquetado.