Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Почему не работает конструкция в WHERE ?
|
|||
|---|---|---|---|
|
#18+
Подскажите, пожалуйста! Задаю условие в WHERE: WHERE DATE>='2020-01-01' AND PROD_DATE >= '2020-03-01' AND PROD_DATE < '2021-04-01' AND CATEGORY = 5 AND (PROD_NAME NOT LIKE '%Молочн%' OR PROD_NAME NOT LIKE '%МОЛОЧН%' OR PROD_NAME NOT LIKE '%мясн%' ) Т.е. мне нужно выбрать все товары, которые относятся к категории 5 и НЕ содержат в наименовании слово молочные и мясные (в разных склонениях). При этом слово молочные может быть записано в разных регистрах. Так вот, данная конструкция у меня не работает. Если закомментить --AND (PROD_NAME NOT LIKE '%Молочн%' OR PROD_NAME NOT LIKE '%МОЛОЧН%' OR PROD_NAME NOT LIKE '%мясн%' ) и раскомментить, то выводится одна и та же сумма. А если пропишу вот так, например: WHERE DATE>='2020-01-01' AND PROD_DATE >= '2020-03-01' AND PROD_DATE < '2021-04-01' AND CATEGORY = 5 AND PROD_NAME NOT LIKE '%Молочн%' то по слову Молочн фильтрует. Где я ошибаюсь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2021, 17:19 |
|
||
|
Почему не работает конструкция в WHERE ?
|
|||
|---|---|---|---|
|
#18+
Morskoi_kotik, потому что если МЯСО, то (и не похоже на "молоко" или не похоже на "мясо") - сработает как не похоже на "молоко" ))) "Короче" - OR заменить на AND ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2021, 17:22 |
|
||
|
Почему не работает конструкция в WHERE ?
|
|||
|---|---|---|---|
|
#18+
Morskoi_kotik, автор Код: sql 1. 2. 3. BETWEEN ? авторPROD_NAME NOT LIKE '%Молочн%' OR PROD_NAME NOT LIKE '%МОЛОЧН% UPPER ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2021, 17:23 |
|
||
|
Почему не работает конструкция в WHERE ?
|
|||
|---|---|---|---|
|
#18+
Oleg_SQL, Я попробую так. Ща не за компом. Но я как то фильтравал точно такой же конструкцией, только там нужно было отобрать позиции, которые содержат определенные слова. Но в текущем случае я не пойму почему не подходит OR ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2021, 17:44 |
|
||
|
Почему не работает конструкция в WHERE ?
|
|||
|---|---|---|---|
|
#18+
Morskoi_kotik, я же выше написал МЯСО проверяем: Не похоже на молоко? Нет - дальше условие что оно не похоже на мясо уже не действует... А если не похоже И на молоко И на мясо - тогда сработает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2021, 17:47 |
|
||
|
Почему не работает конструкция в WHERE ?
|
|||
|---|---|---|---|
|
#18+
Morskoi_kotik, and not (молоч или мясн или птиц) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2021, 18:02 |
|
||
|
Почему не работает конструкция в WHERE ?
|
|||
|---|---|---|---|
|
#18+
Morskoi_kotik, Укажите в для строк запросе регистронезависимый COLLATE. Легче будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2021, 22:44 |
|
||
|
Почему не работает конструкция в WHERE ?
|
|||
|---|---|---|---|
|
#18+
Gerasimenko Morskoi_kotik, автор Код: sql 1. 2. 3. авторPROD_NAME NOT LIKE '%Молочн%' OR PROD_NAME NOT LIKE '%МОЛОЧН% UPPER ? Вопросы начинающего юзера: 1. вы уверены, что там between? не ошибка? 2. если не сложно - зачем там UPPER ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2021, 10:02 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=40112933&tid=1684090]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 309ms |
| total: | 424ms |

| 0 / 0 |
