Нужен прецедент для запроса MySQL с предложением WHERE

#mysql #where-clause

Вопрос:

У меня есть небольшой поисковый запрос по инвентарю. Мне нужно, чтобы первое предложение WHERE было абсолютным, а предложение or было вторичным.

запрос

 SELECT * 
FROM inventory 
WHERE inv_body_style = 'TRUCK' 
  AND inv_make = 'MAZDA' 
   OR inv_make = 'FORD' 
ORDER BY inv_price, inv_make DESC
 

Проблема, с которой я сталкиваюсь, заключается в том, что запрос также покажет автомобили Mazda в inveltory … что мне нужно, так это ТОЛЬКО грузовики (так как это условие прецедента). Я мог бы выполнить это с помощью javascript или php, если потребуется, но я бы предпочел выполнить полный запрос с точными результатами в MySQL … спасибо за любую помощь. Овации

Комментарии:

1. Внимательно изучите приоритет оператора !!! затем подумайте, что на самом деле делает ваше состояние. Затем добавьте необходимые круглые скобки. Также изучите IN описание оператора.

Ответ №1:

Если вам нужны ТОЛЬКО грузовики любой марки (Mazda или Ford) , используйте скобки в условии поиска.

Например:

 SELECT * 
FROM inventory 
WHERE inv_body_style = 'TRUCK' 
  AND (inv_make = 'MAZDA' OR inv_make = 'FORD')
ORDER BY inv_price, inv_make DESC