sql >> Database >  >> RDS >> Oracle

Negeer overtollige waarden opgehaald uit de database

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.



  1. Hoe vind je bijna vergelijkbare records in sql?

  2. HubSpot ODBC-stuurprogramma

  3. tabellen en kolommen dynamisch maken met behulp van mysql python connector

  4. Meerdere query's uitvoeren op SQL