SELECT * FROM mm_tfs
WHERE product_slug LIKE '%football%'
AND schoolid = '8' AND category_id ='21'
LIMIT 4
Возвращает 4 значения, как я спрашиваю, но следующий оператор возвращает 0 - существует ли правило об использовании оператора OR, с которым я не знаком? Мое предположение состоит в том, что оно должно возвращать все значения в 1 (или больше, если бы не предел).
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
ПРИМЕЧАНИЕ by cyberkiwi Первая часть OR Q2 точно такая же, как предложение WHERE в Q1
product_description LIKE '%football%' AND schoolid = '8' AND category_id ='21
Без инструкции OR сама по себе делает желаемый результат, если у него нет предела. Когда инструкция 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, но не в самом приложении.