Как сравнить одно число с диапазоном чисел в SQL - PullRequest
0 голосов
/ 24 апреля 2018

Следующий пример запроса вернет ORA-01427: однострочный подзапрос возвращает более одной строки

select product.id from product
where product.price >= (select deals.price from deals where deals.dDate >= sysdate-10)

Есть ли что-то в SQL для сравнения одного числа (в данном случае цены продукта) с диапазоном чисел (в данном случае цены сделок)?

1 Ответ

0 голосов
/ 24 апреля 2018

Вы можете использовать any или all, в зависимости от желаемой логики:

select product.id
from product
where product.price >= all (select deals.price from deals where deals.dDate >= sysdate-10);

или min() или max(), в зависимости от желаемой логики:

select product.id
from product
where product.price >= (select max(deals.price) from deals where deals.dDate >= sysdate-10);

Я предпочитаю последнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...