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

Select Y Delete...

Estas en el tema de Select Y Delete... en el foro de Mysql en Foros del Web. Buenas de nuevo, NO SE COMO RELACIONAR 2 tablas y borrar de ellas... t_personas_pendientes email | fecha_suscripcion pepe@hotmail | 2007-03-07 r_personas_suscripcion email | validation yo ...
  #1 (permalink)  
Antiguo 07/05/2007, 10:41
 
Fecha de Ingreso: febrero-2004
Mensajes: 65
Antigüedad: 20 años, 1 mes
Puntos: 0
Select Y Delete...

Buenas de nuevo, NO SE COMO RELACIONAR 2 tablas y borrar de ellas...



t_personas_pendientes
email | fecha_suscripcion
pepe@hotmail | 2007-03-07


r_personas_suscripcion
email | validation


yo lo que necesito es una consulta que me borre
de la tabla t_personas_pendientes los mails con
fecha hasta 30 dias atras (ejemplo que me deje
hasta el 2007-04-07) los anteriores a esa fecha
que me los borre.

y a su vez, que me borre de r_personas_suscripcion
esos mismos email.


hay que tener en cuenta, que el mail puede existir
en t_personas_pendientes pero NO en r_personas_suscripcion

no entiendo como relacionar las 2 tablas.


ACA LES PASO EL CODIGO...A VER SI ME PUEDEN AYUDAR..
GRACIAS...


// VARIABLE QUE ME TOMA 30 DIAS ATRAS...
$ayer = date('Y-m-d',time()-2602800);


$cons = "SELECT * FROM t_personas_pendientes a, r_personas_suscripcion b WHERE a.email= b.email";

$resultado = mysql_query($consulta,$conexion);




//RECORRE EL CURSOR DE FILA EN FILA
while ($arr_asoc = mysql_fetch_array($resultado))
{

$cons1 = "DELETE FROM t_personas_pendientes WHERE fecha_suscripcion < '$ayer'";
$resultado1 = mysql_query($cons1,$conexion);

}
  #2 (permalink)  
Antiguo 07/05/2007, 11:34
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Re: Select Y Delete...

Sólo necesitas estas 2 instrucciones SQL.

Código:

delete from r_personas_suscripcion
where email in 
(select email from t_personas_pendientes
where datediff(now(),fecha_suscripcion)=30);

delete t_personas_pendientes
where datediff(now(),fecha_suscripcion)=30;
  #3 (permalink)  
Antiguo 08/05/2007, 07:14
 
Fecha de Ingreso: febrero-2004
Mensajes: 65
Antigüedad: 20 años, 1 mes
Puntos: 0
Re: Select Y Delete...

exelente,, muchisimas gracias.......

no sabia de la funcion datediff

gracias....
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 19:12.