Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/06/2010, 01:36
colino
 
Fecha de Ingreso: agosto-2009
Mensajes: 80
Antigüedad: 14 años, 8 meses
Puntos: 0
delete con left join

Hola, verán ustedes esta sentencia me funciona a medias, me explico:

$delete="DELETE c, a, r, s1, s2, su
FROM articulos AS a
LEFT JOIN categoria AS c ON c.id_categoria='".$delete_categoria."'
LEFT JOIN relacion AS r ON c.id_categoria=r.id_categoria AND r.id_articulo=a.id_articulo
LEFT JOIN subcategoria1 AS s1 ON c.id_categoria=s1.id_categoria
LEFT JOIN subcategoria2 AS s2 ON c.id_categoria=s2.id_categoria
LEFT JOIN sub1_sub2 AS su ON c.id_categoria=su.id_categoria";

Solo se ejecuta bien si hay registros que coincidan en r.id_articulo=a.id_articulo. Si no existe coincidencia en estos registros, no me delete en las demas tablas aunque coincidan con id_categoria.

Lo que pretendo es que me borre todo lo que pille con estos registros siempre que exista en la tabla, pero que si no existe en una tabla me lo borre en las demás.

Gracias