comparar dos registros
Rodrigo Fuentealba
darkprox en gmail.com
Jue Feb 8 11:15:14 CLST 2007
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.
>
> 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 ¿?
> >>
--
Rodrigo Fuentealba Cartes
Desarrollador de Sistemas Web
Registered User 387639 - http://counter.li.org
Más información sobre la lista de distribución PHP