Может быть, это то, что вы на самом деле ищете?
select t1.senderID as t1senderID, t1.receiverID as t1receiverID,
t2.senderID as t2senderID, t2.receiverID as t2receiverID
from messages t1
join messages t2
on t1.senderID = t2.receiverID and t1.receiverID = t2.senderID
Пример даты очень поможет.
Редактировать:
Учитывая этот комментарий:
У нас есть пользователь A и пользователь B, и я хочу вернуть все сообщения между ними
Вы ищете это:
select * from t1
where (senderID = 'A' and receiverID = 'B') or
(senderID = 'B' and receiverID = 'A')