Ayuda para comparar campos y realizar inserción en diferentes tablas

  • Autor Autor zoemv
  • Fecha de inicio Fecha de inicio
Z

zoemv

Beta
Social Media
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Holo betas, me gustaria que me echaran una manita con este problemita, bueno el chiste es que tengo 3 tablas y quiero hacer mas o menos esto

$resultado=mysql_query("select * from tabla1.campoA,tabla2.campoB");
$resultado1=$celda[campoA];
$resultado2=$celda[campoB];
if ($resultado1=$resultado2){
$agrego=mysql_query("insert into tabla3 values (campo3));
}

bien esto es mas o menos lo que quiero hacer pero creo que obiamente toda la logica esta mal, bueno si aun no me explico... ahi va con lenguaje natural XD... quiero que el codigo seleccione las dos tablas(tabla1 y tabla 2) y que de estas obtenga los valores campoA y campoB ahora si los dos campos son iguales que inserte en la tabla3 el campo3 y todo esto se haga recorriendo todos los campos de la tabla1... bueno betas espero me puedan ayudar
 
¿El campo3 de dónde sale?

Quedaría algo así, solo falta especificar de donde sale el campo 3..

Insertar CODE, HTML o PHP:
$res=mysql_query("SELECT * FROM tabla1.campoA,tabla2.campoB");
$res1=$celda['campoA'];
$res2=$celda['campoB'];
$campo3 = /* ¿? */
if ($resultado1 == $resultado2){
	$agrego=mysql_query("insert into tabla3 values (".$campo3.")");
}
 
Pos esta mal todo...

Basicamente porque todo se hace con una sola consulta =D

Insertar CODE, HTML o PHP:
INSERT INTO tabla3 (campo1) SELECT tabla1.campo1 FROM tabla1, tabla2 WHERE tabla1.campo1 = tabla2.campo1

Una buena práctica de programación es delegar todas las operaciones de bases de datos posibles al administrador de la base de datos, que por lo general es mas eficiente y optimiza el código mucho mejor. De otra manera tu alternativa es mas costosa en recursos:

1. Hacer la consulta y almacenar TODO en un array.
2. Recorrer el array, hacer la comparación
3. Ejecutar el código condicional y otra consulta.

Demasiadas consultas, demasiadas condicionales, demasiada memoria y demasiado tiempo de cpu.

MySQL :: MySQL 5.0 Reference Manual :: 12.2.5.1 INSERT ... SELECT Syntax
 
grax por los consejos lo voy a probar a ver que onda