I have a table looking like this:
+-----------+--------+------------+ | member_id | name | partner_id | +-----------+--------+------------+ | 1 | John | 2 | | 2 | Eva | 1 | | 3 | Peter | 4 | | 4 | Mia | 3 | | 5 | Rachel | null | +-----------+--------+------------+
I want to display member name and name of its partner. I also need to display members without one. However, this is what I get when I use RIGTH JOIN:
SELECT m1.name, m2.name
FROM members m1
RIGHT JOIN members m2 ON m1.member_id=m2.partner_id
+--------+--------------+ | name | partner_name | +--------+--------------+ | John | Eva | | Eva | John | | Peter | Mia | | Mia | Peter | | Rachel | null | +--------+--------------+
I want them to be displayed only once as a couple. So when I get John - Eva, I don't want Eva - John to be displayed. Can this be done?
@Mureinik's answer is absolutely correct. In case, if you want to hide null records in name1.