Предложение where не работает в моем запросе mysql

Я реализовал запрос Mysql со многими условиями where, но он не дает правильного результата. Мне нужно найти данные, где user_id не равен 7, но он дает мне результат с user_id 7. вот оба запроса, которые я выполняю, но не дает мне правильный результат.

SELECT * 
FROM `tr_truck` 
WHERE (`user_id` != 7 AND `body_type_id` = 1 ) 
        AND ( `truck_capacity_id` = 1 AND `truck_wheel_id` = 2 ) 
        OR ( `truck_wheel_id` = 2 AND `truck_length_id` = 1 ) 
        OR (`truck_capacity_id` = 1 AND `truck_length_id` = 1 )

и еще один запрос, который я выполняю,

SELECT * 
FROM `tr_truck` 
WHERE ( `truck_capacity_id` = 1 AND `truck_wheel_id` = 2 ) 
        OR ( `truck_wheel_id` = 2 AND `truck_length_id` = 1 ) 
        OR (`truck_capacity_id` = 1 AND `truck_length_id` = 1 ) 
        AND `user_id` NOT IN (7) AND `body_type_id` = 1 

Я также пытался заменить оператор <> на! =, Но безрезультатно. Вот снимок экрана с результатом моей базы данных. https://prnt.sc/kskl08

Пожалуйста, добавьте образцы данных и ожидаемый результат

Jens 10.09.2018 08:48

Смешивание и и или подобное может привести к «неправильным» результатам. Используйте брекетинг, чтобы обеспечить соблюдение желаемых условий. Вы можете улучшить вопрос, добавив к вопросу образцы данных и ожидаемый результат в виде текста.

P.Salmon 10.09.2018 08:56

я не понимаю, почему это отклонено

Narmail Sandhu 10.09.2018 11:18
1
3
39
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Не могли бы вы попробовать, я переставляю скобки

запрос 1

SELECT * 
    FROM `tr_truck` 
    WHERE (`user_id` != 7 AND `body_type_id` = 1 AND `truck_capacity_id` = 1 AND `truck_wheel_id` = 2 ) 
    AND
     ( (`truck_wheel_id` = 2 AND `truck_length_id` = 1 ) 
   OR ( `truck_capacity_id` = 1 AND `truck_length_id` = 1 ))

запрос 2

SELECT * 
FROM `tr_truck` 
WHERE (( `truck_capacity_id` = 1 AND `truck_wheel_id` = 2 ) 
        OR ( `truck_wheel_id` = 2 AND `truck_length_id` = 1 ) 
        OR (`truck_capacity_id` = 1 AND `truck_length_id` = 1 ) )
        AND (`user_id` NOT IN (7) AND `body_type_id` = 1 )

Другие вопросы по теме