Oracle
 sql >> Base de données >  >> RDS >> Oracle

Utilisation de tuples dans la clause ORACLE IN et d'une condition pour un élément du tuple

Cherchez-vous quelque chose comme ça ?

select *
from MY_TABLE
where (id, name) in ((1,'new'), (2, 'old')) and
      date between effectiveDate and termDate

Cela recherche les paires dans une liste, puis vérifie les dates entre une plage de dates.

MODIFIER :

Je pense que vous voulez diviser cela en plusieurs clauses, une pour chaque ensemble de valeurs :

where (id = 1 and name = 'new' and date between eff1 and term1) or
      (id = 2 and name = 'old' and date between eff2 and term2) or
      . . .