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

Ayuda con consulta

Estas en el tema de Ayuda con consulta en el foro de SQL Server en Foros del Web. Hola a todos, espero que esten bien, mi problemilla es el siguiente, tengo una tabla con columnas algo asi id1 id2 id3 fecha 1 1 ...
  #1 (permalink)  
Antiguo 12/02/2010, 09:54
 
Fecha de Ingreso: marzo-2009
Mensajes: 24
Antigüedad: 15 años, 1 mes
Puntos: 0
Ayuda con consulta

Hola a todos, espero que esten bien, mi problemilla es el siguiente, tengo una tabla con columnas algo asi

id1 id2 id3 fecha
1 1 3 234
1 2 3 345

es una tabla de seguimientos, entonces hay dos id que pueden repetirse, uno es el consecutivo y la fecha es la del seguimiento, y necesito ke me muestre el resultado algo asi

id1 fecha1 fecha2 fecha3


la idea es que me muestre las primeras 4 fechas de los seguimientos por id, no se si me entiendan, y quisiera saber si me pueden colaborar, gracias a todos, bye
  #2 (permalink)  
Antiguo 12/02/2010, 12:30
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Ayuda con consulta

Tema ya discutido, debes utilizar CASE para realizar la "rotacion" de tus registros a columnas..
  #3 (permalink)  
Antiguo 12/02/2010, 13:10
 
Fecha de Ingreso: marzo-2009
Mensajes: 24
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Ayuda con consulta

Gracias, pero podrias hacerme el favor de pasarme el enlace en donde se trato ese tema, te lo agradeceria mucho..
  #4 (permalink)  
Antiguo 15/02/2010, 17:05
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Ayuda con consulta

Utiliza la herramienta de busqueda.
  #5 (permalink)  
Antiguo 16/02/2010, 08:37
 
Fecha de Ingreso: marzo-2009
Mensajes: 24
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Ayuda con consulta

Gracias, pero creo que no me sirve, segun me di cuenta para utilizar el CASE debo saber unos valores para poner la condicion, pero como les comente, y talves no explique bien es que hay un id1 que se repite que seria la identificacion, otro id2que es un consecutivo que es unico, y la fecha del seguimiento, entonces para utilizar el CASE no puedo ya que no se ke valor pueda tener el consecutivo, ya que la tabla tiene mas de cien mil registros y no todos los seguimientos fueron uno despues de otro al mismo id, no se si me hago entender, es decir algo asi

id id2 fecha
1 234 2005-10-12
3 235 2004-6-3
5 236 2009-1-2
1 237 2005 12-12

y pos la idea es ke la consulta muestre algo asi

id fecha1 fecha2
1 2005-10-12 2005-12-12
3 2004-6-3

espero ke me puedan ayudar, gracias
  #6 (permalink)  
Antiguo 16/02/2010, 09:37
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Ayuda con consulta

¿Y de donde sacas la fecha 2005-12-12?

porque en tu lista de registros, no aparece
  #7 (permalink)  
Antiguo 16/02/2010, 09:55
 
Fecha de Ingreso: marzo-2009
Mensajes: 24
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Ayuda con consulta

si aparece, es ke esta un poco desorganizado

id | id2 | fecha

1 | 234 | 2005-10-12
3 | 235 | 2004-6-3
5 | 236 | 2009-1-2
1 | 237 | 2005-12-12
......

------
id | fecha1 | fecha2

1 | 2005-10-12 | 2005-12-12
3 | 2004-6-3 |

la idea es ke la consulta me muestre las primeras 4 fechas de los seguimientos por cada id, y pues si hay menos de cuatro seguimientos, debe mostrar entonces los ke hallan, ya sea 1, 2 o tres. no se si me entiendas..

mira, aki hay un trozo del resultado de una consulta de la bd, organizada por id2


id | id2 | fecha

30374937802995 | 100009142 | 2008-05-16 00:00:00.000
30374937802995 | 100009143 | 2008-05-16 00:00:00.000
30374937802997 | 100011869 | 2009-01-23 00:00:00.000
30374937803006 | 100003592 | 2003-09-02 00:00:00.000
30374937803006 | 100003890 | 2004-01-06 00:00:00.000
30374937803007 | 100003557 | 2006-06-01 00:00:00.000
30374937803008 | 100005458 | 2006-12-19 00:00:00.000
30374937802997 | 100005565 | 2010-02-02 00:00:00.000

-----

id | fecha1 | fecha2
30374937802997 | 2009-01-23 00:00:00.000 | 2010-02-02 00:00:00.000



la idea es ke kede algo asi para cada id, y mostrando las primeras 4 fechas.. espero me puedas ayudar, gracias

Última edición por SAWER; 16/02/2010 a las 10:00
  #8 (permalink)  
Antiguo 16/02/2010, 11:14
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Ayuda con consulta

realiza un select DISTICT por cada id, id2, creas una funcion, la cual reciba como parametro el id, te concatene las 4 primeras fechas y te las regrese como un CHAR.
  #9 (permalink)  
Antiguo 16/02/2010, 16:06
 
Fecha de Ingreso: marzo-2009
Mensajes: 24
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Ayuda con consulta

iislas, gracias por tu ayuda, esa es una buena opcion, t lo agradezco mucho.
  #10 (permalink)  
Antiguo 18/02/2010, 14:20
 
Fecha de Ingreso: marzo-2009
Mensajes: 24
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Ayuda con consulta

Hoola de nuevo yo, la solucion ke me diste iislas es buena sin embargo, necesito ke cada fecha me salga en columnas aparte, ademas, creo ke no mencione algo importante, esa consulta hace parte de otra mas grande, es decir, esos datos ke estoy obteniendo deben ir con otros ke obtengo de otras tablas.. porfa necesito opciones o ayuda para hacerlo, les agradesco
  #11 (permalink)  
Antiguo 19/02/2010, 09:42
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Ayuda con consulta

La funcion (UDF), haria esa parte de concatenar y colocartelo como una columna adicional, ¿no?
  #12 (permalink)  
Antiguo 19/02/2010, 13:38
 
Fecha de Ingreso: marzo-2009
Mensajes: 24
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Ayuda con consulta

tienes razon, pero necesito que cada fecha tenga su propia columna.. es decir concatenadas en una sola columna no me sirve.. no se si me entiendas, y no se con la UDF se pueda hacer eso tambien...
  #13 (permalink)  
Antiguo 22/02/2010, 16:38
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Ayuda con consulta

Bueno, entonces que tu UDF coloque las fechas en una tabla de paso, rellenando dichas columnas y haciendo un SELECT de regreso.
  #14 (permalink)  
Antiguo 23/02/2010, 16:13
 
Fecha de Ingreso: marzo-2009
Mensajes: 24
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Ayuda con consulta

Gracias iislas, esa opcion era buena, sin embargo como la consulta era para un reporte en el reporting services utilice un row_count y un objeto matriz y funciono, agradezco tu colaboracion.. aunque si tengo otro problema, resulta que el reporte debe tener como condicion una fecha inicial y una fecha final, pero esas fechas las obtengo extrayendolas de un campo char y convirtiendolas en datetime, y asignandoles el nombre de fecha_ini y fecha_fin dentro de la consulta, pero entonces la pregunta es, como puedo hacer para hacer una clausula where con esas dos fechas, porque al intentarlo me genera un error?'.. gracias

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 19:53.