Страницы

Поиск по вопросам

четверг, 30 мая 2019 г.

SQL-запрос с несколькими выполняющимися из множества условий

Дана таблица с 10 числовыми полями, и 8 условий типа Field_1 < 0, Field_4 > Field_2, Field_5 < 115 и т.д. Как запросить все записи в таблице, удовлетворяющие хотя бы 4 любым условиям из 8?


Ответ

SELECT * FROM tbl WHERE (CASE WHEN Field_1 < 0 THEN 1 ELSE 0) + (CASE WHEN Field_4 > Field_2 THEN 1 ELSE 0) + (CASE WHEN Firld_5 < 115 THEN 1 ELSE 0) + (CASE WHEN Firld_3 < 0 THEN 1 ELSE 0) + (CASE WHEN Firld_5 < 0 THEN 1 ELSE 0) + (CASE WHEN Firld_6 < 0 THEN 1 ELSE 0) + (CASE WHEN Firld_7 < 0 THEN 1 ELSE 0) + (CASE WHEN Firld_8 < 0 THEN 1 ELSE 0) >= 4

Комментариев нет:

Отправить комментарий