Sử dụng:
SELECT f.friend_id
FROM FRIENDS f
WHERE f.user_id = $user_id
UNION
SELECT t.user_id
FROM FRIENDS t
WHERE t.friend_id = $user_id
Sử dụng UNION
sẽ loại bỏ các bản sao. UNION ALL
sẽ nhanh hơn, nhưng nó không xóa các bản sao.
Nếu bạn muốn lấy thông tin cho bạn bè từ MEMBERS
bảng, sử dụng:
SELECT m.*
FROM MEMBERS m
JOIN (SELECT f.friend_id 'user_id'
FROM FRIENDS f
WHERE f.user_id = $user_id
UNION
SELECT t.user_id
FROM FRIENDS t
WHERE t.friend_id = $user_id) x ON x.user_id = m.id
BTW:Tôi hy vọng bạn đang sử dụng mysql_escape_string trên các biến, nếu không, bạn có nguy cơ bị tấn công SQL injection: