SQL - Pasar datos de una tabla a otra en sql

   
Vista:

Pasar datos de una tabla a otra en sql

Publicado por luis felipe hernandez elias (1 intervención) el 13/03/2018 18:47:00
Me gustaria que me pudieran ayudar en mi siguiente problema por favor se los agradeceria.

Como puedo pasar registros de una tabla a otra en sql, pero solo determinados datos especificos por ejemplo:
si tengo la tabla uno con campo numero y tengo la tabla 2 con campo numero, y en la tabla dos tengo los registros uno, dos, tres, cuatro, cinco, uno, seis, siete, ocho, uno; como puedo pasar el registro Uno a la tabla 1, me gustaria que me alludaran de favor,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Pasar datos de una tabla a otra en sql

Publicado por Leonardo Josué (1142 intervenciones) el 13/03/2018 21:07:55
Hola Luis felipe:

La respuesta dependerá de la Base de datos con la que estés trabajando, ya que cada una maneja una sintaxis distinta, lamentablemente no mencionas este dato en tu post.

La mayoría de los DBMS's actuales acepta los INSERT's a partir de una consulta, es decir, algo así:

INSERT INTO tabla2 (campo1, campo2, campo3) SELECT campo1, campo2, campo3 FROM tabla1;

Es cuestión de que investigues si tu Base de datos soporta este tipo de sentencias. Si es así, entonces lo único que faltaría hacer sería crear una consulta que cumpla con los criterios que necesites para que te arroje los registros que quieres insertar en la otra tabla. aquí va un ejemplo de cómo lo harías con MySQL. Supongamos que tienes estas dos tablas:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
mysql> SELECT * FROM tabla1;
+------+-------------+
| id   | descripcion |
+------+-------------+
|    1 | uno         |
|    2 | dos         |
|    3 | tres        |
+------+-------------+
3 rows in set (0.00 sec)
 
mysql> SELECT * FROM tabla2;
+------+-------------+
| id   | descripcion |
+------+-------------+
|    1 | uno         |
+------+-------------+
1 row in set (0.00 sec)

si quisieras por ejemplo insertar el ID=3 de tu tabla1 a tu tabla2 tendrías que hacer algo así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
mysql> INSERT INTO tabla2 (id, descripcion)
    ->     SELECT id, descripcion
    ->     FROM tabla1
    ->     WHERE id = 3;
Query OK, 1 row affected (0.11 sec)
Records: 1  Duplicates: 0  Warnings: 0
 
mysql> SELECT * FROM tabla2;
+------+-------------+
| id   | descripcion |
+------+-------------+
|    1 | uno         |
|    3 | tres        |
+------+-------------+
2 rows in set (0.00 sec)

Haz la prueba y nos comentas.

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Revisar política de publicidad