Ако това е само за лечение на (B, A) като дубликат на (A, B) и не ви интересува особено дали върнатият ред ще бъде (A, B) или (B, A) , можете да направите нещо подобно:
SELECT DISTINCT
CASE WHEN BUG_ID > LINKED_BUG_ID THEN LINKED_BUG_ID ELSE BUG_ID AS BUG_ID,
CASE WHEN BUG_ID > LINKED_BUG_ID THEN BUG_ID ELSE LINKED_BUG_ID AS LINKED_BUG_ID
FROM MY_BUG_LINKS;
Тоест, ако BUG_ID има по-голяма стойност от LINKED_BIG_ID , заявката разменя двата идентификатора, в противен случай стойностите се връщат непроменени. Следователно (A, B) и (B, A) винаги създава дублирани редове (и двата ще бъдат или (A, B) или (B, A) ) и DISTINCT гарантира, че няма такъв в крайния резултат.