SELECT
  user_id,
  ip,
  max(used_at) AS used_at
FROM (
  SELECT
    id AS user_id,
    sign_up_ip AS ip,
    created_at AS used_at
  FROM users
  WHERE sign_up_ip IS NOT NULL
  UNION ALL
  SELECT
    user_id,
    ip,
    updated_at
  FROM session_activations
  UNION ALL
  SELECT
    user_id,
    ip,
    created_at
  FROM login_activities
  WHERE success = 't'
) AS t0
GROUP BY user_id, ip