WITH cte AS ( SELECT u.user_id, u.user_name, f.friend_id, f1.user_name AS friend_name FROM users u LEFT JOIN friends f ON u.user_id = f.user_id LEFT JOIN users f1 ON f.friend_id = f1.user_id WHERE u.user_name IN ('Karl','Hans') ) SELECT c1.user_name AS friend_1, c2.user_name AS friend_2, c1.friend_name AS Mutual_friend FROM cte c1 JOIN cte c2 ON c1.user_id != c2.user_id AND c1.friend_id = c2.friend_id AND c1.user_name < c2.user_name;