Mysql
 sql >> Database >  >> RDS >> Mysql

Schema del database dell'amicizia a riga singola con l'ottenimento dell'ID utente da una colonna o dall'altra

Questa query restituirebbe il valore Id e il nome degli amici di #5 come mostrato in questo Esempio SQL Fiddle

SELECT f.FriendId AS FriendId
   , u.Name AS FriendName
FROM FriendTable AS f
INNER JOIN UserAccount AS u ON f.FriendId = u.UserId
WHERE f.UserId = 5

UNION

SELECT f.UserId AS FriendId
   , u.Name AS FriendName
FROM FriendTable AS f
INNER JOIN UserAccount AS u ON f.UserId = u.UserId
WHERE f.FriendId = 5

Il UNION rimuoverà i duplicati, facendo funzionare questa query sia per un singolo record di amici, sia per i 2 record di amicizia che menzioni nel commento. Tuttavia, non dovresti aver bisogno dell'amicizia a 2 record, perché non ci sono nuove informazioni memorizzate nel secondo record che non puoi ottenere dall'avere un solo record.