• User Attivo

    [Mysql] Come salvare le amicizie in un db mysql ?

    Devo salvare tutte le amicizie in un db mysql e mi chiedo quale sia la strategia migliore.

    I dati che dovrei salvare sono

    A è amico di B
    C è amico di D
    B è amico D

    Ed il mio interesse è che con una semplice SELECT ricavare tutti gli amici di un certo utente.
    Non posso fare
    User1 - User2
    A - B
    C - D
    B - D

    Perchè se volessi ottenere tutti gli amici di B(con un filtro su user1) otterrei solo D, mentre nella riga 1 anche A è amico di B. Insomma è un problema in questi termini.


  • User Attivo

    Ciao,
    la tabella "amicizie" come quella che hai messo tu (con User1 - User2) va benissimo.

    Per trovare tutti gli amici di B ti basta adattare la tua query effettuando il controllo sia su user1 che su user2.

    Una possibile soluzione è:

    
    SELECT user1 AS amico FROM tabella WHERE user2="xxx" UNION SELECT user2 FROM tabella WHERE user1="xxx"
    
    

    Alessandro