comparar dos registros

Alberto Rivera rivera.alberto en gmail.com
Jue Feb 8 12:12:21 CLST 2007


Rodrigo Fuentealba escribió:
> El 8/02/07, Alberto Rivera <rivera.alberto en gmail.com> escribió:
>> sagrario escribió:
>> > El Jueves, 8 de Febrero de 2007 06:21, Alberto Rivera escribió:
>> >
>> >> Rodrigo Fuentealba escribió:
>> >>
>> >>> El 8/02/07, Alberto Rivera <rivera.alberto en gmail.com> escribió:
>> >>>
>> >>>> Hola listeros, debo hacer lo siguiente por si alguien me puede 
>> ayudar.
>> >>>>
>> >>>> Tengo dos tablas con un "id", primero debo verificar si el "id" 
>> de la
>> >>>> tabla 1 existe  en la tabla 2 y segundo si no existe eliminar el
>> >>>> registro de la tabla 1 ...
>> >>>>
>> >>> MALO
>> >>>
>> >> No no cache porque mal ????
>> >>
>> >>
>> >>> Base de Datos primero joven!
>> >>>
>> >> no entendi
>> >>
>> >
>> > Si estas usando una base de datos lo logico es usar las funciones 
>> que tiene
>> > esa base de datos para manejar los registros, que es la respuesta 
>> que te han
>> > dado
>> >
>> > si no se trata de una base de datos explica mejor a que te refieres 
>> con "dos
>> > tablas con un id"
>> >
>> Lo que pasa es que lo puse de forma sencilla para que me dieran una
>> idea, la cuestión es que la tabla b que tiene un id2 es una tabla
>> temporal y el dato en realidad no se elimina sino que cambia de estado
>> activo a pasivo... era solo para la idea...
>
> para pasar de activo a pasivo puedes usar la sentencia
>
> update tabla1, tablatemp set tabla1.valor = 'pasivo' where tabla1.id =
> tablatemp.id and otras condiciones;
>
> en vez de tener que seleccionarlos para hacer el update con php. Te
> ahorras varios ciclos de trabajo del servidor web.
Si tienes razon Rodrigo, eso necesito después apenas exista un tiempo 
voy a tener que poner a revisión todas las consultas y ciclos para 
buscar una mejor performance del sistema, acuerdate que esta cuestión va 
a tener que funcionar en servidores web chiquititos, porque no creo que 
los colegios rurales compren un mega server pa esto ....

tu que sabes ...  existe o tienes alguna documentación que me pueda 
indicar algunos hacks para aumentar la performance en el desarrollo.. 
onda para hacer el sistema lo mas liviano posible, obviamente dentro de 
las posibilidades.... sirven ideas y todo el cuento ...

además lo otro esto lo quiero sacar luego como una versión beta pero yo 
cacho que voy a tener que conversar con la gente de derechos digitales 
pa ponerle algun tipo de licencia pa mantenerlo abierto ...

?
Salu2
>
>>
>> En todo caso ya lo tengo de esta forma por si a alguien le interesa:
>>
>>  $num1=mysql_num_rows($result);
>>      while ($row=mysql_fetch_array($result)) {
>>          $i++; $id1[$i]=$row["id"];
>>      }
>>
>>  $num2=mysql_num_rows($resant);
>>      while ($row2=mysql_fetch_array($resant)) {
>>          $j++;
>>            $id2[$j]=$row2["id"];
>>      }
>>
>>  for($i=1;$i<=$num1;$i++){
>>      for($j=0;$j<=$num2;$j++){
>>          $idok=0;
>>          if ($id1[$i] == $id2[$j]){
>>              echo (" 1--> $id1[$i] -- $id2[$j] <br>");
>>            $sql=mysql_query("DELETE FROM $anterior WHERE 
>> id=$id2[$j]",$db);
>>          }
>>      }
>>   }
>>
>> Eso es todo salu2
>> Albertux
>> >>> delete from a1.test where a1.test.test not in (select a2.test.test
>> >>> from a2.test);
>> >>>
>> >> salu2 ¿?
>> >>
>



Más información sobre la lista de distribución PHP