Symmetric Pairs

  • + 0 comments
    WITH data1 AS(
    SELECT f.x x1, f.y y1, ROW_NUMBER() OVER(ORDER BY f.x) RN1
    FROM functions f
    ),
    
    data2 AS(
    SELECT f.x x2, f.y y2, ROW_NUMBER() OVER(ORDER BY f.x) RN2
    FROM functions f
    )
    
    SELECT DISTINCT x1, y1
    FROM data1
    JOIN data2
        ON x1=y2 AND y1=x2 AND RN1 != RN2 AND x1 <= y1
    ORDER BY x1