Hvis dit venskabsforhold er symmetrisk, kan du enten gemme hvert par i en separat post:
friend1 friend2
A B
B A
A C
B D
C B
D B
og forespørg alle B s venner kan lide det:
SELECT friend2
FROM friends
WHERE friend1 = 'B'
eller gem brugeren med det mindste id i det første felt og det med det største id i den anden:
friend1 friend2
A B
A C
B D
og forespørg B s venner kan lide det:
SELECT friend1
FROM friends
WHERE friend2 = 'B'
UNION ALL
SELECT friend2
FROM friends
WHERE friend1 = 'B'
Den første mulighed er en lille smule mere effektiv i MySQL , og dette er den eneste mulighed, hvis dit venskabsforhold ikke er symmetrisk (som på LiveJournal )
Se denne artikel: