Symmetric Pairs

  • + 0 comments

    SET NOCOUNT ON;

    /* Enter your query here. Please append a semicolon ";" at the end of the query and enter your query in a single line to avoid error. */

    DECLARE @X INT; DECLARE @Y INT; DECLARE @IT INT = 1; DECLARE @IMAXX INT; DECLARE @JMAXX INT; DECLARE @LINE VARCHAR(MAX)=''; DECLARE @COUNT INT =0;

    DECLARE @CTE TABLE ( RowNum INT, X INT, Y INT );

    -- Populate the table variable INSERT INTO @CTE (RowNum, X, Y) SELECT ROW_NUMBER() OVER (ORDER BY X, Y) AS RowNum, X, Y FROM (SELECT DISTINCT X, Y FROM FUNCTIONS) AS DistinctFunctions; DECLARE @RESULT TABLE( X INT, Y INT )

    SELECT @IMAXX=COUNT() FROM @CTE ; SELECT @JMAXX=COUNT() FROM FUNCTIONS;

    WHILE @IT <= @IMAXX BEGIN DECLARE @JT INT =1; SELECT @X = X, @Y = Y FROM @CTE WHERE RowNum = @IT; WHILE @JT <= @JMAXX BEGIN IF @X <= @Y BEGIN IF @X=@Y BEGIN SELECT @COUNT=COUNT() FROM FUNCTIONS WHERE X=@Y AND Y=@X; IF @COUNT>=2 BEGIN INSERT INTO @RESULT VALUES(@X, @Y); BREAK; END END ELSE BEGIN SELECT @COUNT=COUNT() FROM FUNCTIONS WHERE X=@Y AND Y=@X; IF @COUNT>=1 BEGIN INSERT INTO @RESULT VALUES(@X, @Y); BREAK; END END END SET @JT+=1; END SET @IT+=1; END SELECT * FROM @RESULT; go