Оператор выбора SQL, похожий на примерное совпадение вертикального поиска в Excel

Наличие таблицы с колонками "цена" и "количество".

например:

rec  price   qty
1.   10,00     1
2.    7,50     5
3.    5,00    25
4.    3,00   100

Мне нужно выбрать цену для количества 65. Это цена записи 3. Кол-во 65 находится в интервале от 25 до 100. Как решить эту проблему в запросе sql?

1 ответ

Решение

Вы можете решить это с помощью внутреннего оператора SQL, который пытается найти наибольшее количество, которое меньше или равно запрашиваемому количеству 65:

select pce.price
from   prices pce
join   ( select max(qty) qty
         from   prices
         where  qty <= 65
       ) pce2
on     pce.qty = pce2.qty

Вот pce2 это соединение, чтобы соответствовать prices линия. pce таблица объединена, чтобы иметь доступ ко всем присоединенным полям. Это будет работать правильно только в том случае, если в prices за qty,

Другие вопросы по тегам