Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Verwenden von Tupeln in der ORACLE IN-Klausel und einer Bedingung für ein Element im Tupel

Suchen Sie so etwas?

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

Dies sucht nach den Paaren in einer Liste und überprüft dann die Daten zwischen einem Datumsbereich.

BEARBEITEN:

Ich denke, Sie möchten dies in mehrere Klauseln aufteilen, eine für jeden Wertesatz:

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
      . . .