i use distinct to eliminate duplicate fields.
Query:
SELECT DISTINCT
  userId1, userId2, message, sentDate, ad1, avatar1, ad2, avatar2 
FROM 
(SELECT m.id, m.userId1, m.userId2, m.message, m.sentDate, m.readDate,
   u1.id id1, u1.ad ad1, u1.avatar avatar1, u2.id id2, u2.ad ad2, 
   u2.avatar avatar2 
 FROM (messages m inner join users u1 on m.userId1 = u1.id) 
 inner join users u2 on m.userId2 = u2.id
 where (userId1 = 8 or userId2 = 8) 
 order by sentDate desc
) as q

if one field equal to userId1 = 7 and userId2 = 8 don't take userId1 = 8 and userId2 = 7. How can i say this to sql?
 
     
    