Bạn đang tìm kiếm thứ gì đó như thế này?
select *
from MY_TABLE
where (id, name) in ((1,'new'), (2, 'old')) and
date between effectiveDate and termDate
Thao tác này tìm kiếm các cặp trong danh sách và sau đó kiểm tra các ngày giữa một phạm vi ngày.
CHỈNH SỬA:
Tôi nghĩ bạn muốn chia điều này thành nhiều mệnh đề, một mệnh đề cho mỗi bộ giá trị:
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
. . .