これが単に (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
より大きい値があります の場合、クエリは 2 つの ID を交換します。それ以外の場合、値は変更されずに返されます。したがって、 (A, B)
および (B, A)
常に重複行を生成します (どちらも (A, B)
のいずれかになります) または (B, A)
)、および DISTINCT
最終結果に何もないことを確認してください。