sql >> Base de Datos >  >> RDS >> Oracle

Uso de tuplas en la cláusula ORACLE IN y una condición para un elemento en la tupla

¿Estás buscando algo como esto?

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

Esto busca los pares en una lista y luego verifica las fechas entre un rango de fechas.

EDITAR:

Creo que quieres dividir esto en varias cláusulas, una 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
      . . .