SELECT * FROM mm_tfs
WHERE product_slug LIKE '%football%'
AND schoolid = '8' AND category_id ='21'
LIMIT 4
Возвращает 4 значения, как я прошу, но следующий оператор возвращает 0 - существует ли правило об использовании оператора OR, с которым я не знаком? Мое предположение состоит в том, что оно должно возвращать все значения в 1 (или больше, если бы не предел).SQL LIMIT не возвращает результатов, где нет LIMIT возвращает результаты
SELECT * FROM mm_tfs
WHERE (product_slug LIKE '%football%'
AND schoolid = '8' AND category_id ='21')
OR (product_description LIKE '%football%'
AND schoolid = '8' AND category_id ='21')
LIMIT 4
Примечание по cyberkiwi первого или части Q2 точно такие же, как ИНЕКЕ на Q1
product_description LIKE '%football%' AND schoolid = '8' AND category_id ='21
без ИЛИ Заявления самого по себе получение желаемого результата до тех пор, так как он не имеет предела. Когда оператор OR используется вместе с LIMIT, возвращается 0 значений.
SELECT * FROM mm_tfs
WHERE product_description LIKE '%football%'
AND schoolid = '8' AND category_id ='21'
LIMIT 4
^- Это дает 0 результаты
SELECT * FROM mm_tfs
WHERE product_description LIKE '%football%'
AND schoolid = '8' AND category_id ='21'
^- Это дает результаты
Странных часть этого является то, что все эти вопросы продукта нужного эффекта в моем PHPMYADMIN SQL-запрос, но не в самом приложении.
Выбирает логическую ошибку, а не конкретную для OR. Оберните все вокруг фигурных скобок, это все ваше состояние вокруг (и). – JonH
Нет, он возвращает значения –
Это очень интересно. Может ли кто-нибудь объяснить, почему это неправильно, вместо альтернативного подхода? +1 – Nishant