Подскажите, как исключить из запроса значения результатов по значению test, data которые не находятся в диапазоне, например (4, 9) в таблице данных
id name data
1 test1 3
1 res sdf
1 tost asd
1 test2 6
2 test8 12
Необходимо, чтобы id 1 был исключен из запроса, так как 6 попадает в диапазон. результат будет только id 2
Действительно, странно, что диапазон нужно искать в строках... Как вариант, можно взять все ид, которые не подходят, и исключить их:
SELECT * FROM table1
WHERE id NOT IN
(SELECT id FROM table1 WHERE CASE WHEN (data < 4 OR data > 9) THEN 0 ELSE -1 END = -1 AND name LIKE '%test%')
Дописал про "test", если правильно понял. То есть в name
есть совпадение с строкой test
и диапазон data
[4,9], такие ид исключить.
http://sqlfiddle.com/#!9/3a0d80/3
SELECT *
FROM table_name
WHERE name LIKE 'test%' AND id NOT IN
(SELECT id FROM table_name WHERE name LIKE 'test%' AND (data BETWEEN 4 AND 9)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Суть такова, я использую react-redux и стороннюю библиотеку normalizr, таким образом я имею некоторый объект объектов который выглядит примерно следующий...
Вот функция которая принимает строку и возвращает самое длинное слово в этой строке