Inicio Foros Bases de datos MySQL SQL eliminar registros tabla si campo de otra está vacío [RESUELTO]

Viendo 3 entradas - de la 1 a la 3 (de un total de 3)
  • Autor
    Entradas
  • #50565
    Varios
    Moderador

    Hola, tengo dos tablas en MariDB/MySQL:
    facturas (codigo clave primaria, codigocliente clave foránea)
    clientes (codigo clave primaria)

    Quisiera eliminar todos los clientes que no tengan facturas, es decir, todos los los registros de la tabla clientes que no estén en la tabla facturas por el codigocliente.

    ¿Es posible hacer un SQL para eliminar registros de una tabla comprobando que otro campo de otra tabla tenga valor null? En este caso ambas tablas están «enlazadas» por el campo «codigocliente» de la tabla factura.

    #50566
    alonsojpd
    Superadministrador

    Sí que es posible, antes de ejecutar la consulta de eliminación, por seguridad, revisa que esta consulta te devuelva los registros que quieres:

    Si la consulta anterior te devuelve los datos correctos, puedes «convertirla» en una consulta de eliminación, como la siguiente, para que elimine todos los registros con el filtro indicado:

    #50567
    Varios
    Moderador

    Genial, muchísimas gracias.
    Solucionado con la consulta SQL que me has pasado.
    Funciona perfecta.

Viendo 3 entradas - de la 1 a la 3 (de un total de 3)
  • Debes estar registrado para responder a este debate.