У меня здесь интересное затруднение.Выбор из диапазона на основе критериев множественного диапазона
Предположим, у меня есть список чисел следующим образом: 2, 4, 9. Назовем их foo
.
Теперь представьте, у меня есть следующие данные:
| Id | ForeignKey | RangeStart | RangeEnd |
|----|------------|------------|----------|
| 1 | 1 | 1 | 3 |
| 2 | 1 | 4 | 5 |
| 3 | 1 | 6 | 9 |
| 4 | 2 | 1 | 2 |
| 5 | 2 | 3 | 3 |
| 6 | 2 | 4 | 9 |
| 7 | 3 | 1 | 5 |
| 8 | 3 | 6 | 9 |
Мне нужно найти все строки, где любой из пунктов от foo
падения между RangeStart
и RangeEnd
. В этом примере Row Id 5 не будет включен в результирующий набор, но все остальные строки будут.
Это довольно простая проблема для решения в моем контроллере (просто отфильтруйте результаты в цикле), но мне интересно, нет ли на этой основе решения, основанного на множестве.
вы передать * список * в запросе? –
Да, мы на самом деле используем Dapper, поэтому он интерполируется как список чисел, однако мы можем передать его в любом случае нам нужно. Хитрость заключается в том, что список передаваемых чисел сколь угодно длинный (и необязательный), поэтому мы не можем просто сделать их разными параметрами. – Locke