Ver Mensaje Individual
  #7 (permalink)  
Antiguo 25/05/2015, 16:33
Avatar de planmental
planmental
 
Fecha de Ingreso: abril-2015
Mensajes: 100
Antigüedad: 9 años
Puntos: 0
Respuesta: Tomar el id mínimo de un campo

Bueno como dije anteriormente el código que utilizo es este:

Código MySQL:
Ver original
  1. SELECT tt.*  FROM traslado tt
  2.  
  3. INNER JOIN servicio
  4. ON tt.servicio_id = servicio.servicio_id
  5.  
  6. INNER JOIN cliente
  7. ON servicio.cliente_id = cliente.cliente_id
  8.  
  9.         (
  10.             SELECT cliente.alias, cliente.cliente_id, traslado.traslado_id min_val
  11.             FROM    traslado
  12.             INNER JOIN servicio
  13. ON traslado.servicio_id = servicio.servicio_id
  14.  
  15. INNER JOIN cliente
  16. ON servicio.cliente_id = cliente.cliente_id
  17.             GROUP   BY remolque_otros, cliente.alias
  18.            
  19.         ) b  ON cliente.alias = b.alias
  20.                 AND cliente.cliente_id = b.cliente_id
  21.                 AND tt.traslado_id != b.min_val
  22.                 WHERE cliente.alias = "'.$Dias1.'" AND tt.remolque_otros = "'.$_GET['s'].'"

Lo que en verdad quiero es contar los días que tiene un cliente con el vehículo de la empresa comparando la fecha del cliente con la fecha actual, lo que yo hacía era contar desde el último registro, por ejemplo:

id | cliente | fecha
------------------------------
7 | v1 | 2015-05-20 <---- este es el resultado que me daba
6 | v1 | 2015-05-20
5 | v1 | 2015-05-01
4 | v1 | 2015-03-05
3 | v2 | 2015-02-02
2 | v3 | 2015-01-30
1 | v1 | 2015-01-01

Pero después me di cuenta de que no debería de contar los días desde ese registro pues antes de que ese movimiento fuera insertado, el cliente ya había hecho movimientos y es eso lo que busco, por ejemplo:

id | cliente | fecha
------------------------------
7 | v1 | 2015-05-20
6 | v1 | 2015-05-20
5 | v1 | 2015-05-01
4 | v1 | 2015-03-05 <---- este es el resultado que necesito
3 | v2 | 2015-02-02
2 | v3 | 2015-01-30
1 | v1 | 2015-01-01

El error está en que cuando quiero agrupar por cliente (cliente.alias) y quiero mostrar el primer registro insertado se va hasta el último registro de ese cliente.

id | cliente | fecha
------------------------------
7 | v1 | 2015-05-20
6 | v1 | 2015-05-20
5 | v1 | 2015-05-01
4 | v1 | 2015-03-05
3 | v2 | 2015-02-02
2 | v3 | 2015-01-30
1 | v1 | 2015-01-01 <---- este es el resultado que obtengo pero no es el que busco

El campo donde están los nombres de los clientes es "cliente.alias" el campo fecha es "traslado.fecha_servicio" y el campo de id es "traslado.traslado_id"

No sé si me expliqué.

Última edición por gnzsoloyo; 26/05/2015 a las 09:47