Als dit alleen gaat over het behandelen van (B, A)
als een duplicaat van (A, B)
en het maakt u niet uit of de geretourneerde rij (A, B)
. zal zijn of (B, A)
, zou je zoiets als dit kunnen doen:
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;
Dat wil zeggen, als BUG_ID
heeft een grotere waarde dan LINKED_BIG_ID
, verwisselt de query de twee ID's, anders worden de waarden ongewijzigd geretourneerd. Daarom (A, B)
en (B, A)
produceer altijd dubbele rijen (beide zijn ofwel (A, B)
of (B, A)
), en DISTINCT
zorgt ervoor dat er geen in het eindresultaat staat.