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

insert a 2 tablas

Estas en el tema de insert a 2 tablas en el foro de SQL Server en Foros del Web. hola a todos nuevamente, tengo un nuevo problema a ver si me pueden ayudar de nuevo, tengo una tabla que contiene información la cual deseo ...
  #1 (permalink)  
Antiguo 14/02/2011, 14:22
 
Fecha de Ingreso: junio-2008
Ubicación: Osorno
Mensajes: 152
Antigüedad: 11 años, 3 meses
Puntos: 3
insert a 2 tablas

hola a todos nuevamente, tengo un nuevo problema a ver si me pueden ayudar de nuevo, tengo una tabla que contiene información la cual deseo separar en dos tablas, como para que me entiendan es algo a si:

esta es la tabla que contiene todo.
tabla1
ID_ACTIV|NUM_PERNO|CANTIDAD_PERNO|NUM_SELLO|CANTID AD_SELLO|observ

1300 |564 | 1 |89745 |1 |normal


estas son las tablas en la que las quiero separar


tabla2 materiales
ID|ID_ACTIVIDAD|NUM_MATERIAL|CANTIDAD_MATERIAL


1 |1300 | 564 | 1
2 |1300 | 89745 | 1


tabla3 actividad
ID_ACTIVIDAD|OBSERVACIONE
S
1564 |normal



esto es lo que necesito hacer, hay forma de hacerlo, es decir lo que esta en la tabla uno lo separe en 2 tablas.
  #2 (permalink)  
Antiguo 14/02/2011, 16:38
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.950
Antigüedad: 14 años, 2 meses
Puntos: 39
Respuesta: insert a 2 tablas

A ver prueba con esto:
Código SQL:
Ver original
  1. INSERT INTO materiales(ID,ID_ACTIVIDAD,NUM_MATERIAL,CANTIDAD_MATERIAL)
  2. SELECT ROW_NUMBER() OVER(ORDER BY ID_ACTIV DESC), *
  3. FROM (
  4.     SELECT ID_ACTIV, NUM_PERNO, CANTIDAD_PERNO
  5.     FROM tabla1
  6.     UNION ALL
  7.     SELECT ID_ACTIV, NUM_SELLO, CANTIDAD_SELLO
  8.     FROM tabla1
  9. ) T
Para la otra tabla, de donde salio 1564?
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #3 (permalink)  
Antiguo 14/02/2011, 17:49
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.480
Antigüedad: 12 años, 3 meses
Puntos: 180
Respuesta: insert a 2 tablas

Primero, no se dice "PARA QUE ME ENTIENDAN", es mejor, "Para poder explicarme con ustedes"

Segundo, si se puede hacer lo que necesitas.
__________________
MCTS Isaias Islas
  #4 (permalink)  
Antiguo 15/02/2011, 04:15
 
Fecha de Ingreso: junio-2008
Ubicación: Osorno
Mensajes: 152
Antigüedad: 11 años, 3 meses
Puntos: 3
Respuesta: insert a 2 tablas

Cita:
Iniciado por flaviovich Ver Mensaje
A ver prueba con esto:
Código SQL:
Ver original
  1. INSERT INTO materiales(ID,ID_ACTIVIDAD,NUM_MATERIAL,CANTIDAD_MATERIAL)
  2. SELECT ROW_NUMBER() OVER(ORDER BY ID_ACTIV DESC), *
  3. FROM (
  4.     SELECT ID_ACTIV, NUM_PERNO, CANTIDAD_PERNO
  5.     FROM tabla1
  6.     UNION ALL
  7.     SELECT ID_ACTIV, NUM_SELLO, CANTIDAD_SELLO
  8.     FROM tabla1
  9. ) T
Para la otra tabla, de donde salio 1564?
me equivoque no es 1564 es 1300. voy a probar con lo que me dices y después comento a ver como me fue.
  #5 (permalink)  
Antiguo 16/02/2011, 07:56
 
Fecha de Ingreso: junio-2008
Ubicación: Osorno
Mensajes: 152
Antigüedad: 11 años, 3 meses
Puntos: 3
Respuesta: insert a 2 tablas

Hola amigos, Desde la última vez que escribí he tenido que realizar algunos cambios en mi proyecto, por lo que reformulo mi pregunta, antes yo preguntaba de qué manera realizar un insert a 2 tablas a la vez, bueno pues ahora lo que necesito es lo siguiente, tengo una tabla (MAT_MATERIALES_UTIL) con la información de los materiales que se utilizaron en una visita a un cliente y tengo otra tabla (INS_INSPECCIONES_MOBILE_TMP) que contiene datos de clientes en terreno y también los materiales que se utilizaron en esa visita al cliente, lo que quiero es pasar la información de los materiales que se encuentren en la tabla INS_INSPECCIONES_MOBILE_TMP a
La tabla MAT_MATERIALES_UTIL , pero que estos queden ingresados en forma de lista, es decir: si para la visita número 1 se utilizó un perno y un conector entonces en la tabla MAT_MATERIALES_UTIL debería quedar ordenado algo así:

Numero_visita|código material|cantidad
1 | 345 | 1
1 | 456 |1

Para explicarme mejor en la imagen de a continuación realice de forma gráfica que es lo que quiero


Ojala me puedan ayudar por favor.
  #6 (permalink)  
Antiguo 16/02/2011, 09:13
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.950
Antigüedad: 14 años, 2 meses
Puntos: 39
Respuesta: insert a 2 tablas

Has probado asi?
Código SQL:
Ver original
  1. INSERT INTO MAT_MATERIALES_UTIL(ID,ID_ACTIVIDAD,NUM_MATERIAL,CANTIDAD_MATERIAL)
  2. SELECT ROW_NUMBER() OVER(ORDER BY ID DESC), *
  3. FROM (
  4.     SELECT TIPO_ACT, ID, NS_MEDIDOR, COD_MEDIDOR, CANT_MEDIDOR
  5.     FROM INS_INSPECCIONES_MOBILE_TMP
  6.     UNION ALL
  7.     SELECT TIPO_ACT, ID, '', COD_SOPORTE, CANT_SOPORTE
  8.     FROM INS_INSPECCIONES_MOBILE_TMP
  9.     UNION ALL
  10.     SELECT TIPO_ACT, ID, '', COD_PERNO, CANT_PERNO
  11.     FROM INS_INSPECCIONES_MOBILE_TMP
  12.     UNION ALL
  13.     SELECT TIPO_ACT, ID, '', COD_CONEC1, CANT_CONEC1
  14.     FROM INS_INSPECCIONES_MOBILE_TMP
  15.     UNION ALL
  16.     SELECT TIPO_ACT, ID, '', COD_CONEC2, CANT_CONEC2
  17.     FROM INS_INSPECCIONES_MOBILE_TMP
  18. ) T
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #7 (permalink)  
Antiguo 16/02/2011, 11:19
 
Fecha de Ingreso: junio-2008
Ubicación: Osorno
Mensajes: 152
Antigüedad: 11 años, 3 meses
Puntos: 3
Respuesta: insert a 2 tablas

flaviovich excelente!!!! funciono a la perfección...
muchas pero muchas gracias master!!.

una consulta mas se puede hacer un poco mas automática es decir no hacer un UNION ALL y el SELECT correspondiente por cada material, lo digo por si se presenta el caso de tener mas materiales, esto es solo por preguntar, nunca esta demás saber algo a si.

y gracias nuevamente.
  #8 (permalink)  
Antiguo 16/02/2011, 13:10
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.950
Antigüedad: 14 años, 2 meses
Puntos: 39
Respuesta: insert a 2 tablas

Me parece que no existe funcion que haga eso, pero por si acaso lee sobre PIVOT.
Podrias crear un procedimiento que forme la consulta dinamicamente con la columnas correspondientes, pero lo veo un poco dificil, porque de todas maneras cómo sabes qué columna es codigo, y cual cantidad?
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.

Etiquetas: insert, tablas
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:52.