Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    eliminare record senza corrispondenza MySQL

    ciao a tutti,
    sto complicando una roba semplice...

    devo eliminare(selezionare) i record della tbl "utenti" che NON HANNO corrispondenza nella tbl "iscrizioni" ; il campo di corrispondenza è iscrizioni.utenti_idutenti = utenti.idutenti.

    semplice no? beh l'ho scritta cosi e ora mi ci sto arrovellando...

    SELECT * FROM `utenti`
    LEFT JOIN iscrizioni ON iscrizioni.utenti_idutenti = utenti.idutenti
    WHERE iscrizioni.utenti_idutenti = ""

    pls help

  2. #2
    SELECT DISTINCT * FROM `utenti`, `iscrizioni`
    WHERE iscrizioni.utenti_idutenti = utenti.idutenti

    fa il contrario..

  3. #3
    Se fa il contrario allora nega la condizione:

    codice:
    SELECT DISTINCT * FROM `utenti`, `iscrizioni`
    WHERE iscrizioni.utenti_idutenti != utenti.idutenti

  4. #4
    eh no, cosi elimino la corrispondenza dei campi...

  5. #5
    Prova con una sub select:

    codice:
    select * from utenti u where u.id_utenti not in (select utenti_idutenti from iscrizioni)
    analogamente col delete

  6. #6
    Originariamente inviato da chumkiu
    Prova con una sub select:

    codice:
    select * from utenti u where u.id_utenti not in (select utenti_idutenti from iscrizioni)
    analogamente col delete

  7. #7
    Ma vieni !

    Grazie chum

  8. #8
    Non ci credo... non mi fa fare il delete:

    DELETE FROM utenti u WHERE u.idutenti NOT IN (
    SELECT utenti_idutenti
    FROM iscrizioni
    )
    AND u.qualifiche_idqualifiche =1
    OR u.qualifiche_idqualifiche =2
    OR u.qualifiche_idqualifiche =4

    errore di sintassi ?

    (sono direttamente in phpMyAdmin)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.