Se si tratta semplicemente di trattare (B, A) come duplicato di (A, B) e non ti interessa particolarmente se la riga restituita sarà (A, B) o (B, A) , potresti fare qualcosa del genere:
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;
Cioè, se BUG_ID ha un valore maggiore di LINKED_BIG_ID , la query scambia i due ID, altrimenti i valori vengono restituiti invariati. Pertanto, (A, B) e (B, A) producono sempre righe duplicate (entrambi sarebbero (A, B) o (B, A) ), e DISTINCT assicura che non ce ne siano nel risultato finale.