sql >> Databasteknik >  >> RDS >> Oracle

Att använda tupler i ORACLE IN-sats och ett villkor för ett element i tupeln

Letar du efter något liknande?

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

Detta letar efter paren i en lista och söker sedan efter datum mellan ett datumintervall.

EDIT:

Jag tror att du vill dela upp detta i flera satser, en för varje uppsättning värden:

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


  1. Hibernate Soft Delete med uppdatering Cascade

  2. Använder IF EXISTS med en CTE

  3. Underval i oracle

  4. SQL:Styr hur många poster som returneras