Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    [Mysql] Aiuto su query di eliminazione

    ciao a tutti!!

    è possibile che io abbia due record così:
    codice:
    CODICE                 P.IVA
    NULL                     1111
    345                       1111
    in questo caso dovrei eliminare quello con il codice NULL.

    più in generale dovrei cancellare tutti queri record che hanno la P.IVA duplicata e che hanno il codice NULL.
    solo che non sono riuscito nell'intento per ora.
    qualche idea?

  2. #2
    il classico delete.... where codice=null non funge?
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  3. #3
    non basta il test sul codice null.
    il record che ha codice = null deve avere un altro record con la stessa p.iva.

    ho fatto questa prova qua:
    codice:
    DELETE FROM cr_clienti
    WHERE cliente_codice IS NULL AND
    cliente_piva IN (
     SELECT cliente_piva, COUNT(*) CP FROM cr_clienti
     GROUP BY cliente_piva
     HAVING CP > 1
    )
    non so se così è più chiaro!

  4. #4
    Originariamente inviato da fermat
    non basta il test sul codice null.
    il record che ha codice = null deve avere un altro record con la stessa p.iva.

    ho fatto questa prova qua:
    codice:
    DELETE FROM cr_clienti
    WHERE cliente_codice IS NULL AND
    cliente_piva IN (
     SELECT cliente_piva, COUNT(*) CP FROM cr_clienti
     GROUP BY cliente_piva
     HAVING CP > 1
    )
    non so se così è più chiaro!
    ok, ho capito

    mi sembra buona questa query... ti da errore?
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  5. #5
    si mi da questo errore:
    codice:
    #1241 - Operand should contain 1 column(s)
    ho già provato questa modifica sul COUNT:
    codice:
    DELETE FROM cr_clienti
    WHERE cliente_codice IS NULL AND
    cliente_piva IN (
     SELECT cliente_piva, COUNT(cliente_piva) CP FROM cr_clienti
     GROUP BY cliente_piva
     HAVING CP > 1
    )
    penso dal fatto che nella sub query tiro fuori due colonne, e invece dovrei tirarne fuori una.
    ma non saprei come modificare la query per tirare fuori i duplicati.

  6. #6
    prova cosi :

    codice:
    DELETE FROM cr_clienti c
    WHERE c.cliente_codice IS NULL AND
    1 < (
     SELECT COUNT(c1.cliente_piva)  FROM cr_clienti c1
     GROUP BY (c1.cliente_piva)
     WHERE c1.cliente_piva = c.cliente_piva
    )
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  7. #7
    allora, questa potrebbe essere una query corretta:
    codice:
    DELETE FROM cr_clienti
    WHERE cliente_codice IS NULL AND
    cliente_piva IN (
     SELECT cliente_piva FROM cr_clienti
     GROUP BY cliente_piva
     HAVING COUNT(*) > 1
    )
    solo che adesso mi da un altro errore:
    codice:
    #1093 - You can't specify target table 'cr_clienti' for update in FROM clause
    l'errore è chiaro, ma non so se ci sia un modo per aggirarlo.

  8. #8
    codice:
    DELETE FROM cr_clienti
    WHERE cliente_codice IS NULL AND
    cliente_piva IN (
     SELECT cliente_piva FROM cr_clienti
     GROUP BY cliente_piva
     HAVING COUNT(cliente_piva) > 1
    )

  9. #9
    la query sopra che ti ho scritto fungeva?
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  10. #10
    no per entrambi

    la modifica di optime mi da lo stesso errore.

    la query di bomberdini mi da un errore di sintassi che sto cercando di scovare.

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.