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

    [mysql] Doppioni incrociati

    Salve a tutti

    Ho una tabella molto semplice composta da

    USERNAME | AMICO

    con vari valori...

    in alcuni casi ho, però, dei "doppioni", come da esempio

    PIPPO | PLUTO
    PLUTO | PIPPO

    esiste una query con cui si possa cancellare una delle due righe?

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    delete from tabella where (username,amico) in
    (select * from (
    select username,amico from tabella
    union all
    select amico,username from tabella ) as t
    where amico < username
    group by username,amico
    having count(*) >  1)
    Fatti prima un backup per precauzione.

  3. #3
    Grazie 1000, poi provo

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Nel caso non abbia ancora provato puoi risolvere molto più banalmente così:

    codice:
    delete t1
    from tabella t1, tabella t2
    where t1.username = t2.amico
    and t2.username = t1.amico
    and t1.amico > t1.username

  5. #5
    perfetta questa ultima soluzione!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.