उपयोग करें:
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
UNION
का उपयोग करना डुप्लिकेट हटा देगा। UNION ALL
तेज़ होगा, लेकिन यह डुप्लिकेट को नहीं हटाता है।
अगर आप दोस्तों के लिए MEMBERS
. से जानकारी प्राप्त करना चाहते हैं टेबल, उपयोग:
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:मुझे आशा है कि आप mysql_escape_string का उपयोग कर रहे हैं। चर पर, अन्यथा आप SQL इंजेक्शन हमलों का जोखिम उठाते हैं: