Вот кусок таблицы для примера. Из таблицы мне необходима цена. Пример запроса для 314: Код (Text): SELECT price FROM prices WHERE id_type_print = '1' AND id_format = '1' AND id_category = '3' AND id_paper = '5' AND min_quantity <= '20' AND (max_quantity = 'NULL' OR max_quantity >= '20') Запрос выводит цену 323. Правильно. Пример запроса для 315: Код (Text): SELECT price FROM prices WHERE id_type_print = '1' AND id_format = '1' AND id_category = '3' AND id_paper = '5' AND min_quantity <= '50' AND (max_quantity = 'NULL' OR max_quantity >= '50') Запрос ничего не выводит. Как модифицировать запрос, чтобы он выводил и 314, и 315 ?
Re: Запрос с промежутком в котором одна часть может быть рав Правильно, и не должен выводить. Вы же сами указали в запросе max_quantity >= '50', а там 30, что ни разу не больше 50. Как выводить оба? Смотря по какому принципу вы делаете выборку. Я вам сейчас скажу, что: Код (Text): SELECT price FROM prices он будет выводить вам оба. А ещё абсолютно всё, что есть в таблице. Составьте более корректно свой вопрос.
Re: Запрос с промежутком в котором одна часть может быть рав 30, там в минимальном в максимальном NULL Добавлено спустя 2 минуты 36 секунд: Re: Запрос с промежутком в котором одна часть может быть равна 0 50 это грубо говоря число которое должно быть в промежутке. Так вот в первом запросе, это число 20 и получаеться 10 < 20 < 29, а вот второй 30 < 50 < NULL Добавлено спустя 1 минуту 41 секунду: Re: Запрос с промежутком в котором одна часть может быть равна 0 Я во второй запрос кидаю оба случая тк не знаю NULL там или число.
Re: Запрос с промежутком в котором одна часть может быть рав А, да, простите. Код (Text): SELECT price FROM prices WHERE id_type_print = '1' AND id_format = '1' AND id_category = '3' AND id_paper = '5' AND min_quantity <= '50' AND (max_quantity = NULL OR max_quantity >= '50') пробуйте
Re: Запрос с промежутком в котором одна часть может быть рав без результатов. Добавлено спустя 8 минут 9 секунд: Re: Запрос с промежутком в котором одна часть может быть равна 0 Нашел решение оказалось сравнение с NULL не по =, а по IS Добавлено спустя 31 секунду: Re: Запрос с промежутком в котором одна часть может быть равна 0 То есть запрос Код (Text): SELECT price FROM prices WHERE id_type_print = '1' AND id_format = '1' AND id_category = '3' AND id_paper = '5' AND min_quantity <= '50' AND (max_quantity IS NULL OR max_quantity >= '50')
Re: Запрос с промежутком в котором одна часть может быть рав Да, вы меня опередили. Но это огромный плюс, что вы сами нашли косяк.