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

Problemas con INSERT INTO

Estas en el tema de Problemas con INSERT INTO en el foro de Mysql en Foros del Web. Saludos. Para almacenar el resultado de varios SELECT he decidido crear una TABLA TEMPORAL para almacenar todo. Para pasar los datos a la TABLA TEMPORAL ...
  #1 (permalink)  
Antiguo 15/10/2006, 22:22
 
Fecha de Ingreso: mayo-2005
Mensajes: 55
Antigüedad: 18 años, 10 meses
Puntos: 1
Problemas con INSERT INTO

Saludos.

Para almacenar el resultado de varios SELECT he decidido crear una TABLA TEMPORAL para almacenar todo. Para pasar los datos a la TABLA TEMPORAL hago un INSERT INTO pero, me causa problemas al intentar pasar el resultado de otro SELECT. A continuación el código a ver si ven algo malo. ¡Ya me tiene de cabeza!:

$crear_tabla = " CREATE TEMPORARY TABLE `produccionTMP` (
`IDproduccion` mediumint(6) unsigned NOT NULL auto_increment,
`titulo` varchar(150) NOT NULL default '',
`lugar` varchar(150) NOT NULL default '',
`fecha` varchar(50) NOT NULL default '',
`deposito_legal` varchar(50) NOT NULL default '',
`fuente` varchar(255) NOT NULL default '',
`informacion` longtext,
`IDcategoria` tinyint(3) unsigned NOT NULL default '0',
`id_admin` int(11) default NULL,
`isonido` varchar(255) default NULL,
`productorart` varchar(255) default NULL,
`contacto` varchar(255) default NULL,
`genero` varchar(255) default NULL,
PRIMARY KEY (`IDproduccion`),
UNIQUE KEY `IDproduccion` (`IDproduccion`),
KEY `IDproduccion_2` (`IDproduccion`)
)";
mysql_query($crear_tabla);

$sql_produccion="INSERT INTO produccionTMP
SELECT p.*
FROM produccion p
WHERE p.titulo like '%$p_search_g%' OR p.informacion like '%$p_search_g%'";

mysql_query($sql_produccion);

$sql_artista="INSERT INTO produccionTMP
SELECT p.*
FROM produccion p, interprete i, artista a
WHERE i.IDproduccion=p.IDproduccion AND a.IDartista=i.IDartista AND a.Nombre like '%$p_search_g%'";

mysql_query($sql_artista);


$sql = "
SELECT *
FROM produccionTMP
ORDER BY IDproduccion";

MUCHAS GRACIAS
  #2 (permalink)  
Antiguo 15/10/2006, 22:56
 
Fecha de Ingreso: mayo-2005
Mensajes: 55
Antigüedad: 18 años, 10 meses
Puntos: 1
Señores, muchas gracias por sus notas pero, asunto arreglado, lo resolví con un UNION. Les doy la solución y espero que les sirva de ayuda futura:

$sql_produccion="INSERT INTO produccionTMP
SELECT p.*
FROM produccion p
WHERE p.titulo like '%$p_search_g%' OR p.informacion like '%$p_search_g%'

UNION
SELECT p.*
FROM produccion p, interprete i, artista a
WHERE i.IDproduccion=p.IDproduccion AND a.IDartista=i.IDartista AND
a.Nombre like '%$p_search_g%'

UNION
SELECT p.*
FROM produccion p, producida pda, productor pr
WHERE (pda.IDproduccion=p.IDproduccion AND pda.IDproductor=pr.IDproductor) AND
(pr.productor like '%$p_search_g%')

UNION
SELECT p.*
FROM produccion p, compuesta cta, compositor c
WHERE (cta.IDproduccion=p.IDproduccion AND cta.IDcompositor=c.IDcompositor) AND
(c.Apellido like '%$p_search_g%' OR c.Nombre like '%$p_search_g%')";

mysql_query($sql_produccion);
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 23:03.