[Kde-devel-es] consulta a MySql

Sergio Cambra sergio at ensanjose.net
Sat Nov 6 19:38:28 CET 2004


El Sábado 06 Noviembre 2004 14:34, Guillem Barba escribió:
> DELETE clientes, obras, tareas FROM clientes, obras, tareas WHERE
> tareas.idobra = obras.id AND obras.idcliente = clientes.id AND
> clientes.id= :id
>
> que me funciona de maravilla si hay, como mínimo, una otra y una tarea
> de dicho cliente, pero a la que no hay algo de esto, no funciona. He
> probado sustituyendo los AND por OR (todos, o sólo uno...) pero entonces
> me elimina TODO lo de aquella tabla. Cómo lo puedo hacer para que
> funcione?

Tienes que usar LEFT JOIN:
DELETE FROM clientes, obras, tareas USING clientes LEFT JOIN obras ON 
clientes.id = obras.idcliente LEFT JOIN tareas ON obras.id = tareas.idobra 
WHERE clientes.id = :id;

Sergio


More information about the Kde-devel-es mailing list