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

ayuda con query porfavor!!!!!!!

Estas en el tema de ayuda con query porfavor!!!!!!! en el foro de Mysql en Foros del Web. hola estoy realizando esta consulta: $sql="select * ,DATE_FORMAT(fecha, '%d-%m-%Y') AS fecha from miTabla GROUP BY area order by id ASC"; como verán, primero doy formato ...
  #1 (permalink)  
Antiguo 13/10/2010, 08:43
 
Fecha de Ingreso: julio-2007
Mensajes: 287
Antigüedad: 17 años, 4 meses
Puntos: 4
Pregunta ayuda con query porfavor!!!!!!!

hola

estoy realizando esta consulta:

$sql="select * ,DATE_FORMAT(fecha, '%d-%m-%Y') AS fecha from miTabla GROUP BY area order by id ASC";

como verán, primero doy formato a la fecha y
luego agrupo el resultado de la consulta por area ya que en la tabla guardo distintas areas:

area1
area2
area3
area4


y luego las ordeno de forma ascendente. ASC


Lo malo es no me esta mostrando la fecha correcta,
por ejemplo el 30-09-20210 fue la última vez que guardé un documento para el area1
y me esta imprimiendo la fecha 12-04-2010. Esto me sucede con las otras 3 areas.

Como puedo arreglar esta consulta para obtener lo que necesito.??
  #2 (permalink)  
Antiguo 13/10/2010, 08:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Tema movido desde PHP a Mysql
  #3 (permalink)  
Antiguo 13/10/2010, 08:49
 
Fecha de Ingreso: julio-2007
Mensajes: 287
Antigüedad: 17 años, 4 meses
Puntos: 4
Respuesta: ayuda con query porfavor!!!!!!!

el resultado de la consulta debería ser algo como esto.

ultimo documento cargado para area1 el 30-09-2010
ultimo documento cargado para area2 el 23-08-2010
ultimo documento cargado para area3 el 10-07-2010
ultimo documento cargado para area4 el 27-09-2010

pero me entrega algo como esto

ultimo documento cargado para area1 el 12-04-2010
ultimo documento cargado para area2 el 03-03-2010
ultimo documento cargado para area3 el 23-03-2010
ultimo documento cargado para area4 el 18-03-2010

osea... me muestra mechas muy anteriores
  #4 (permalink)  
Antiguo 13/10/2010, 08:52
 
Fecha de Ingreso: julio-2007
Mensajes: 287
Antigüedad: 17 años, 4 meses
Puntos: 4
Respuesta: ayuda con query porfavor!!!!!!!

ya probé con ASC o DESC y no es eso.
  #5 (permalink)  
Antiguo 13/10/2010, 10:25
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: ayuda con query porfavor!!!!!!!

El problema es que el listado que requieres necesita el uso de subconsultas:
Código MySQL:
Ver original
  1.     (SELECT
  2.          *,
  3.          DATE_FORMAT(fecha, '%d-%m-%Y') fecha_1
  4.      FROM miTabla
  5.      ORDER BY miTabla.fecha DESC) T1
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 13/10/2010, 11:30
 
Fecha de Ingreso: julio-2007
Mensajes: 287
Antigüedad: 17 años, 4 meses
Puntos: 4
Respuesta: ayuda con query porfavor!!!!!!!

Perfecto! así era la cosa gnzsoloyo.
Te agradezco mucho amigo.
Gracias.
  #7 (permalink)  
Antiguo 13/10/2010, 11:38
 
Fecha de Ingreso: julio-2007
Mensajes: 287
Antigüedad: 17 años, 4 meses
Puntos: 4
Respuesta: ayuda con query porfavor!!!!!!!

lo único malo es que la fecha la muestra Y-m-d y no d-m-Y
  #8 (permalink)  
Antiguo 13/10/2010, 11:57
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: ayuda con query porfavor!!!!!!!

Porque la tienes que formatear en el SELECT exterior, invocando uno a uno los campos. No puedes, en esos casos usar el asterisco, porque se produce duplicidad de columnas.
No te pude poner el ejemplo porque no sé cuáles son los campos implicados.

Usar el asterisco (*) no es una buena práctica en general, porque casi siempre traes columnas que no usas, y columnas inútiles son bytes basura en la web...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 13/10/2010, 12:47
 
Fecha de Ingreso: julio-2007
Mensajes: 287
Antigüedad: 17 años, 4 meses
Puntos: 4
Respuesta: ayuda con query porfavor!!!!!!!

ok, entiendo. Los campos implicados en la consulta serían solamente:

id,area,fecha.

gracias por la sugerencia (*) lo tendré muy en cuenta.
  #10 (permalink)  
Antiguo 13/10/2010, 12:54
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: ayuda con query porfavor!!!!!!!

Enconces sería:
Código MySQL:
Ver original
  1. SELECT id, area, fecha
  2.     (SELECT id, area, DATE_FORMAT(fecha, '%d-%m-%Y') fecha
  3.      FROM miTabla
  4.      ORDER BY miTabla.fecha DESC) T1
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #11 (permalink)  
Antiguo 13/10/2010, 12:58
 
Fecha de Ingreso: julio-2007
Mensajes: 287
Antigüedad: 17 años, 4 meses
Puntos: 4
Respuesta: ayuda con query porfavor!!!!!!!

Maestro muchas gracias por su tiempo.
Quedó Perfecto!

Etiquetas: query
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 22:58.