MySQL - INSERT INTO ... SELECT(...

 
Vista:

INSERT INTO ... SELECT(...

Publicado por jb (3 intervenciones) el 10/08/2005 14:45:39
Lo que busco hacer es: 1) crear una tabla temporal y 2)insertar a la tabla temporal un registro de otra tabla; Pero al insertar por logica deben de ser "X" cantidad de filas, las cuales son las que me estan dando problema.

He buscado en la red en la siguiente direccion:

http://www.miliuco.net/docs/oracle_select.htm

Lo que he encontrado es el siguiente ejemplo:

INSERT INTO <nombre-tabla> (<columna1>, <columna2>.....) SELECT (<sentencia Select>)

Habajo de esto hay un pequeño articulo que sita lo siguiente: "Asigna a las columnas los valores recuperados en la sentencia Select. Inserta en la tabla todas las filas que se recuperen en la Select." Pero realmente no es verdad por que al momento que deseo hacer la insercion de datos me da un error que dice:

"ERROR 1242 (21000): Subquery returns more than 1 row"

Por supuesto que estoy trabajando dentro de mysql en formato de DOS pero el query que quiero hacer es el siguiente:

SELECT INTO tabla_tmp(materia) SELECT(select materia from notas where alumno='Juan Perez' and seccion='B' and turno='Mañana' and grado='Primero');

Lo que necesito saber es: en que estoy fallando y si me podrian dar algun LINK para poder buscar, les agradeceria muchicimo.
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

RE:INSERT INTO ... SELECT(...

Publicado por Esteban (380 intervenciones) el 10/08/2005 16:51:16
Pero qué es eso????????

Eso no es así, quita todo los selects innecesarios:

Debes buscar el manual de referencia de MySQL, por lo menos te puede orientar con las instrucciones SQL que no estas dando bien:

select campos into tabla from tabla

o

insert into tabla (campos) select campos from tabla
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:INSERT INTO ... SELECT(...

Publicado por jose carlos (1 intervención) el 12/08/2005 02:50:05
una alternativa mas que puedes tener es crear la tabla al momento de insertar los registros que ocupes la instruccion seria asi:

create table tmp as select campos from tabla;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:INSERT INTO ... SELECT(...

Publicado por manuel (1 intervención) el 26/09/2007 06:56:29
muchas gracais esto si funciona es lo mas cercano que he podido encontrar al select ... Into
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:INSERT INTO ... SELECT(...

Publicado por ADOLFO ESTRADA (1 intervención) el 02/10/2008 15:24:20
QUIZA DEVERIAS INTENTAR ALGOCOMO ESTO
INSERT INTO <nombre-tabla> (<columna1>, <columna2>.....) VALUES((SELECT <columna1> from <nombre-tabla> where <...>),(SELECT <columna2> from <nombre-tabla> where <...>))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:INSERT INTO ... SELECT(...

Publicado por msn_33 (1 intervención) el 19/01/2010 18:04:27
quitale los parentesis ese es tu error. SELECT ( el parentesis no va
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:INSERT INTO ... SELECT(...

Publicado por Popo (1 intervención) el 08/02/2012 23:08:26
Tengo problemas con esta instruccion y no le encuentro...alguna sugerencia????

insert into temporal (tipo) select left(usuarios.tari_us,1) from usuarios where usuarios.clav_us=temporal.usua_pa
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 796
Oro
Ha mantenido su posición en MySQL (en relación al último mes)
Gráfica de MySQL

RE:INSERT INTO ... SELECT(...

Publicado por xve (1151 intervenciones) el 09/02/2012 09:14:11
Hola Pepo que error te produce?? en principio la consulta parece correcta...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar