выбрать из таблицы между - PullRequest
0 голосов
/ 08 мая 2020

пожалуйста, помогите советом.

У меня есть таблица.

id|score_max|score_min| segment
--|---------|---------|--------
1 |264      |         |girl
2 |263      | 250     |girl+
3 |249      | 240     |girl
4 |         | 239     |girl

Получать значение, зависящее от величины балла, не обязательно. Но может быть нулевым.

Например, 260 - это значение из другой таблицы

select segment
from mytable
where score_max<260 and score_min>260

Вывод:

2 |263      | 250     |girl+

но если значение = 200, sql неверно

Как правильно оформить запрос?

1 Ответ

2 голосов
/ 08 мая 2020

Для этого примера данных, которые имеют больше смысла:

id|score_max|score_min| segment
--|---------|---------|--------
1 |         | 264     |girl
2 |263      | 250     |girl+
3 |249      | 240     |girl
4 |239      |         |girl

вы можете получить желаемый результат следующим образом:

select * 
from tablename
where 
  (? >= score_min or score_min is null)
  and 
  (? <= score_max or score_max is null)

Замените ? значением, которое вы ищи. См. Демонстрацию .

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