Foros del Web » Programando para Internet » ASP Clásico »

crear nueva tabla a partir de otra

Estas en el tema de crear nueva tabla a partir de otra en el foro de ASP Clásico en Foros del Web. Buenos dias, es el mejor titulo q se me ocurrio para que sea lo mas descriptivo a lo que quiero hacer. supongamos que tengo tabla_1 ...
  #1 (permalink)  
Antiguo 15/09/2008, 10:33
 
Fecha de Ingreso: febrero-2006
Mensajes: 57
Antigüedad: 18 años, 3 meses
Puntos: 0
Busqueda crear nueva tabla a partir de otra

Buenos dias, es el mejor titulo q se me ocurrio para que sea lo mas descriptivo a lo que quiero hacer.

supongamos que tengo tabla_1 con la siguiente estructura:

ID | NOMBRE | DNI | PAIS
1 | Gustavo | 123456 | Argentina
2 | Gustavo | 123456 | Mexico
3 | Nestor | 111111 | Argentina
4 | Gustavo | 123456 | Colombia
5 | Nestor | 111111 | Colombia
6 | Sergio | 222222 | Argentina


lo que quiero hacer es, armar una Tabla_2 con la siguiente estructura:

ID | Nombre | DNI | PAIS1 | PAIS2 | PAIS3 | PAIS4 | PAIS5

cosa que me permita agrupar el DNI y cargar los paises en un mismo registro.

por ejemplo asi
ID | Nombre | DNI | PAIS1 | PAIS2 | PAIS3 | PAIS4 | PAIS5
1 | Gustavo | 123456 | Argentina | Mexico | Colombia | NULL | NULL
2 | Nestor | 111111 | Argentina | Colombia | NULL | NULL | NULL
3 | Sergio | 222222 | Argentina | NULL | NULL | NULL | NULL


La tabla_2 la diseño manualemte, solo quiero volcar los datos de la forma mencionada.

la verdad nose me ocurre como convinarlo con bucles. si me dan una orentacion, les agradezco.

Atte Gustavo

Última edición por gustavowd; 15/09/2008 a las 10:37 Razón: arreglo
  #2 (permalink)  
Antiguo 15/09/2008, 15:07
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Respuesta: crear nueva tabla a partir de otra

Has una consulta transpuesta y listo

¿que base de datos usas?, si usas SQL 2005 tienes PIVOT para hacerla.
  #3 (permalink)  
Antiguo 17/09/2008, 15:17
Avatar de akela  
Fecha de Ingreso: septiembre-2000
Ubicación: Frente a la compu
Mensajes: 660
Antigüedad: 23 años, 9 meses
Puntos: 2
Respuesta: crear nueva tabla a partir de otra

como bien dice myakire hay que saber que BD usas, un instrucción que me funciona en muchos manejadores es:



INSERT into tabla2 ( DNI, Nombre, PAIS1, PAIS2, PAIS3, PAIS4, PAIS5) SELECT DNI, Nombre, PAIS,null,null,null,null FROM tabla1 Group by DNI





notas
  • Revisa que el numero de campos en la tabla 2 sea igual al numero de campos que invocas de la tabla uno.
  • he escrito null pensando en que no tienen los otros paises, pero puede reemplazarlos por campos o variables

yo yengo in query así y me funciona en Intebase y en Informix

saludos.
__________________
Si quieres que las cosas sucédan

provocalas!

Última edición por akela; 17/09/2008 a las 15:24 Razón: visualización pobre del código
  #4 (permalink)  
Antiguo 17/09/2008, 15:29
Avatar de akela  
Fecha de Ingreso: septiembre-2000
Ubicación: Frente a la compu
Mensajes: 660
Antigüedad: 23 años, 9 meses
Puntos: 2
Respuesta: crear nueva tabla a partir de otra

perdón pero no había visto bien la tabla1 y no me había fijado que tienes ahí mismo los datos de los otros paises

el código que te puse anteriormente sólo inserta valores unicos agrupados por DNI, por lo que sólo tendrías el valor se un país.

perodón otra vez
__________________
Si quieres que las cosas sucédan

provocalas!
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 02:21.