Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Tomar el id mínimo de un campo

Estas en el tema de Tomar el id mínimo de un campo en el foro de Mysql en Foros del Web. Sorry por el mal entendido. No me dio resultado MySQL ha devuelto un conjunto de valores vacío (es decir: cero columnas). (La consulta tardó 0.0085 ...

  #31 (permalink)  
Antiguo 26/05/2015, 13:14
Avatar de planmental  
Fecha de Ingreso: abril-2015
Mensajes: 100
Antigüedad: 9 años
Puntos: 0
Respuesta: Tomar el id mínimo de un campo

Sorry por el mal entendido.

No me dio resultado

MySQL ha devuelto un conjunto de valores vacío (es decir: cero columnas). (La consulta tardó 0.0085 seg)

Esto fue lo que puse
Código MySQL:
Ver original
  1. SELECT T . *
  2. FROM traslado T
  3. INNER JOIN servicio S ON T.servicio_id = S.servicio_id
  4. INNER JOIN cliente C ON S.cliente_id = C.cliente_id
  5. WHERE C.alias =  'PEDSA'
  6. AND T.remolque_otros =  '535969'
  7. AND (
  8. T.servicio_id, C.cliente_id, T.fecha_servicio
  9. )
  10. IN (
  11.  
  12. SELECT servicio_id, C.cliente_id, MIN( fecha_servicio ) fecha_servicio
  13.  
  14. SELECT T.servicio_id, C.cliente_id, T.fecha_servicio
  15. FROM traslado T
  16. INNER JOIN servicio S ON T.servicio_id = S.servicio_id
  17. INNER JOIN cliente C ON S.cliente_id = C.cliente_id
  18. WHERE C.alias =  'PEDSA'
  19. AND T.remolque_otros =  '535969'
  20. GROUP BY T.servicio_id, C.cliente_id, T.fecha_servicio
  21. HAVING COUNT( * ) >1
  22. )T1
  #32 (permalink)  
Antiguo 26/05/2015, 13:28
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Tomar el id mínimo de un campo

Ok. Eso en principio significa por un lado que no hay error sintáctico, y por otra que alguna o todas las consultas, no cumplen con las restricciones de los WHERE y/o de los INNER JOIN.

Vamos a ver por donde.

Empecemos por esto: Muestranos qué resultados devuelven estas queries:

Código MySQL:
Ver original
  1. SELECT COUNT(1) totalREgistros
  2. FROM traslado T
  3. INNER JOIN servicio S ON T.servicio_id = S.servicio_id
  4. INNER JOIN cliente C ON S.cliente_id = C.cliente_id

Código MySQL:
Ver original
  1. SELECT COUNT(*) TotalConWHERE
  2. FROM traslado T
  3. INNER JOIN servicio S ON T.servicio_id = S.servicio_id
  4. INNER JOIN cliente C ON S.cliente_id = C.cliente_id
  5. WHERE C.alias =  'PEDSA'
  6. AND T.remolque_otros =  '535969'
Código MySQL:
Ver original
  1. SELECT T.servicio_id, C.cliente_id, T.fecha_servicio
  2. FROM traslado T
  3. INNER JOIN servicio S ON T.servicio_id = S.servicio_id
  4. INNER JOIN cliente C ON S.cliente_id = C.cliente_id
  5. WHERE C.alias =  'PEDSA'
  6. AND T.remolque_otros =  '535969'
  7. GROUP BY T.servicio_id, C.cliente_id, T.fecha_servicio
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #33 (permalink)  
Antiguo 26/05/2015, 13:35
Avatar de planmental  
Fecha de Ingreso: abril-2015
Mensajes: 100
Antigüedad: 9 años
Puntos: 0
Respuesta: Tomar el id mínimo de un campo

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Ok. Eso en principio significa por un lado que no hay error sintáctico, y por otra que alguna o todas las consultas, no cumplen con las restricciones de los WHERE y/o de los INNER JOIN.

Vamos a ver por donde.

Empecemos por esto: Muestranos qué resultados devuelven estas queries:

Código MySQL:
Ver original
  1. SELECT COUNT(1) totalREgistros
  2. FROM traslado T
  3. INNER JOIN servicio S ON T.servicio_id = S.servicio_id
  4. INNER JOIN cliente C ON S.cliente_id = C.cliente_id


Código MySQL:
Ver original
  1. SELECT COUNT(*) TotalConWHERE
  2. FROM traslado T
  3. INNER JOIN servicio S ON T.servicio_id = S.servicio_id
  4. INNER JOIN cliente C ON S.cliente_id = C.cliente_id
  5. WHERE C.alias =  'PEDSA'
  6. AND T.remolque_otros =  '535969'
Código MySQL:
Ver original
  1. SELECT T.servicio_id, C.cliente_id, T.fecha_servicio
  2. FROM traslado T
  3. INNER JOIN servicio S ON T.servicio_id = S.servicio_id
  4. INNER JOIN cliente C ON S.cliente_id = C.cliente_id
  5. WHERE C.alias =  'PEDSA'
  6. AND T.remolque_otros =  '535969'
  7. GROUP BY T.servicio_id, C.cliente_id, T.fecha_servicio
Estos fueron los resultados arrojados:

Primer query:

525767

Segundo query:

23

Tercer query:

Código HTML:
servicio_id
cliente_id
fecha_servicio
1574397
20
2014-09-09 18:17:08
1579675
20
2014-09-22 18:18:06
1579676
20
2014-09-22 18:18:25
1579777
20
2014-09-22 23:19:54
1579844
20
2014-09-23 06:51:28
1579981
20
2014-09-23 09:52:09
1590404
20
2014-10-16 17:14:23
1591320
20
2014-10-18 11:32:12
1591342
20
2014-10-18 13:44:37
1601638
20
2014-11-12 16:08:33
1631684
20
2015-01-29 09:44:00
1640212
20
2015-02-18 19:15:31
1645438
20
2015-03-03 11:26:46
1655706
20
2015-03-27 19:40:21
1658051
20
2015-04-02 11:28:59
1661214
20
2015-04-10 21:12:55
1662314
20
2015-04-14 16:17:49
1662411
20
2015-04-14 18:51:05
1668578
20
2015-04-29 15:48:13
1669838
20
2015-05-02 11:18:12
1669839
20
2015-05-02 11:18:41
1676247
20
2015-05-19 19:38:33
1678575
20
2015-05-26 09:07:31
  #34 (permalink)  
Antiguo 26/05/2015, 15:51
Avatar de planmental  
Fecha de Ingreso: abril-2015
Mensajes: 100
Antigüedad: 9 años
Puntos: 0
Respuesta: Tomar el id mínimo de un campo

Hola gnzsoloyo.

Mira he hecho esta consulta:

Código MySQL:
Ver original
  1. SELECT * FROM traslado
  2. INNER JOIN servicio
  3. ON traslado.servicio_id = servicio.servicio_id
  4.  
  5. INNER JOIN cliente
  6. ON servicio.cliente_id = cliente.cliente_id
  7.  
  8. WHERE remolque_otros ="'.$_GET['s'].'"
  9. AND cliente.alias != "'.$cliente.'"
  10.  
  11. GROUP BY fecha_servicio
  12.  ORDER BY traslado_id desc  LIMIT 1

Esa consulta me arroja la última fecha del cliente anterior al cliente actual, entonces me gustaría saber si se le puede aumentar +1 a esa consulta para que me dé el resultado que busco.

Etiquetas: maximo, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:40.