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

obtener resultado de fechas pero en filas

Estas en el tema de obtener resultado de fechas pero en filas en el foro de Mysql en Foros del Web. hola amigos tengo el siguiente problema select year(now())-1 as anio1,year(now()) as anio2,year(now())+1 as anio3 el cual me da como resultado anio1 anio2 anio3 2010 2011 ...
  #1 (permalink)  
Antiguo 19/07/2011, 12:06
 
Fecha de Ingreso: febrero-2011
Mensajes: 43
Antigüedad: 13 años, 3 meses
Puntos: 0
obtener resultado de fechas pero en filas

hola amigos tengo el siguiente problema

select year(now())-1 as anio1,year(now()) as anio2,year(now())+1 as anio3

el cual me da como resultado

anio1 anio2 anio3
2010 2011 2012

pero esta misma logica de obtener año actual, un año futuro y un año anterior al actual la necesito pero en un query que me de el resultado en filas y no en columnas es decir:

anio1 2010
anio2 2011
anio3 2012


gracias por su ayuda
  #2 (permalink)  
Antiguo 19/07/2011, 12:49
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: obtener resultado de fechas pero en filas

Hola vmoran2009:

Puedes hacerlo con UNION's, así:

Código MySQL:
Ver original
  1. mysql> select year(now())-1 anio1,year(now()) anio2,year(now())+1 anio3;
  2. +-------+-------+-------+
  3. | anio1 | anio2 | anio3 |
  4. +-------+-------+-------+
  5. |  2010 |  2011 |  2012 |
  6. +-------+-------+-------+
  7. 1 row in set (0.76 sec)
  8.  
  9. mysql> select year(now())-1 anio
  10.     -> union
  11.     -> select year(now()) anio
  12.     -> union
  13.     -> select year(now())+1 anio;
  14. +------+
  15. | anio |
  16. +------+
  17. | 2010 |
  18. | 2011 |
  19. | 2012 |
  20. +------+
  21. 3 rows in set (0.29 sec)

Saludos
Leo
  #3 (permalink)  
Antiguo 19/07/2011, 13:03
 
Fecha de Ingreso: febrero-2011
Mensajes: 43
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: obtener resultado de fechas pero en filas

gracias leonardo efectivamente asi funciono, aunque me dicen que se puede hacer con tabla pivotes o crosstab, no tengo ni idea de como se haría de esa manera
  #4 (permalink)  
Antiguo 19/07/2011, 14:07
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: obtener resultado de fechas pero en filas

Hola de nuevo vmoran2009

Lamentablemente en MySQL no existen las tablas PIVOT o tablas cruzadas, estas se implementan en DMBS como SQL Server y Oracle, sin embargo y como cultura general podrías leer acerca de este tipo de tablas y ver como funcionan.

También podrías investigar algún tipo de implementación en MySQL utilizando INNER JOINS y subconsultas, pero tu problema no va más allá que lo que expresaste en el post creo que con UNION's bastaría:

Dale un vistazo a las siguientes ligas:

http://msdn.microsoft.com/es-es/library/ms177410.aspx

http://www.plsql.biz/2008/05/oracle-...ivot-como.html

http://www.artfulsoftware.com/infotree/queries.php#78

Saludos
Leo

Etiquetas: fechas, filas, query, select, resultados
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 01:26.