Оператор выбора 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
,