• Following query produced the expected results:
    A    B    300
    A    C    200
    A    D    100
    B    F    200
    D    C    50

    SELECT CASE WHEN COL1 <= COL2 AND COL3 > 0 THEN COL1 ELSE COL2 END AS COL1,
     CASE WHEN COL1 <= COL2 AND COL3 > 0 THEN COL2 ELSE COL1 END AS COL2,
     SUM( CASE WHEN COL3 < 0 THEN COL3 *-1 ELSE COL3 END ) AS COL3
    FROM SampleData
    GROUP BY CASE WHEN COL1 <= COL2 AND COL3 > 0 THEN COL1 ELSE COL2 END,
     CASE WHEN COL1 <= COL2 AND COL3 > 0 THEN COL2 ELSE COL1 END
     ORDER BY CASE WHEN COL1 <= COL2 AND COL3 > 0 THEN COL1 ELSE COL2 END,
     CASE WHEN COL1 <= COL2 AND COL3 > 0 THEN COL2 ELSE COL1 END