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

Ayuda con DATE_FORMAT()

Estas en el tema de Ayuda con DATE_FORMAT() en el foro de Mysql en Foros del Web. Tengo esta consulta, esta funcionando bien. SELECT Numero, DATE_FORMAT(`Enero`,'%d/%m/%Y') AS '01', DATE_FORMAT(`Febrero`,'%d/%m/%Y') AS '02', DATE_FORMAT(`Marzo`,'%d/%m/%Y') AS '03', DATE_FORMAT(`Abril`,'%d/%m/%Y') AS '04' FROM bodega WHERE Numero = ...
  #1 (permalink)  
Antiguo 12/12/2010, 15:20
 
Fecha de Ingreso: diciembre-2010
Mensajes: 28
Antigüedad: 13 años, 4 meses
Puntos: 1
De acuerdo Ayuda con DATE_FORMAT()

Tengo esta consulta, esta funcionando bien.

SELECT
Numero,
DATE_FORMAT(`Enero`,'%d/%m/%Y') AS '01',
DATE_FORMAT(`Febrero`,'%d/%m/%Y') AS '02',
DATE_FORMAT(`Marzo`,'%d/%m/%Y') AS '03',
DATE_FORMAT(`Abril`,'%d/%m/%Y') AS '04'
FROM bodega
WHERE Numero = 1

Pero quiero resumirla, como puedo ?, Estube tratando con algo como

SELECT
Numero,
DATE_FORMAT(`Enero``Febrero``Marzo``Abril`,'%d/%m/%Y') AS '01''02''03''04'
FROM bodega
WHERE Numero = 1

pero no me sirve , alguien tiene idea ?
  #2 (permalink)  
Antiguo 12/12/2010, 16:39
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, 5 meses
Puntos: 2658
Respuesta: Ayuda con DATE_FORMAT()

¿Resumirla de qué forma? ¿En qué sentido?

Y una duda: ¿Por qué tienes información separada por mes? Eso me parece un error de normalización.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 12/12/2010, 16:48
 
Fecha de Ingreso: diciembre-2010
Mensajes: 28
Antigüedad: 13 años, 4 meses
Puntos: 1
Respuesta: Ayuda con DATE_FORMAT()

Cita:
Iniciado por gnzsoloyo Ver Mensaje
¿Resumirla de qué forma? ¿En qué sentido?

Y una duda: ¿Por qué tienes información separada por mes? Eso me parece un error de normalización.
Me referia a no tener que volver a repetir DATE_FORMAT para cada columna. mas bien un DATE_FORMAT para todas las columnas.

algo como

SELECT
Numero,
DATE_FORMAT(`Enero``Febrero``Marzo``Abril`,'%d/%m/%Y') AS '01''02''03''04'
FROM bodega
WHERE Numero = 1

y pues esta separada por mes ya que segun el mes arroja la fecha que tenga almacenada...
  #4 (permalink)  
Antiguo 12/12/2010, 18:26
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, 5 meses
Puntos: 2658
Respuesta: Ayuda con DATE_FORMAT()

Bueno, desde ya te digo que esa forma de almacenar la información es una grave falta a la normalización de bases de datos y es la misma que te impide evitar tener que repetir la función para cada campo.
Si en lugar de almacenar la info de cada mes en un campo, almacenases la info de los meses de cada año en una sola tabla, donde la fecha fuese un sólo campo y esa tabla estuviese vinculada a "BODEGA" por mediode una FK, solamente necesitarías usar una sola función y agrupar por meses.
Pero lamentablemente tal y como tienes esa tabla... bueno, no tienes más que repetir la función una vez por cada campo.
Es uno de los tantos defectos como consecuencia de las bases desnormalizadas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: Ninguno
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 15:04.