Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Usando tuplas na cláusula ORACLE IN e uma condição para um elemento na tupla


Você está procurando algo parecido com isto?
select *
from MY_TABLE
where (id, name) in ((1,'new'), (2, 'old')) and
      date between effectiveDate and termDate

Isso procura os pares em uma lista e, em seguida, verifica as datas entre um intervalo de datas.

EDITAR:

Acho que você quer dividir isso em várias cláusulas, uma para cada conjunto de valores:
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
      . . .