MySQL Select donde un col1 (int) tiene el valor 2 ó 3 y col2 (tinybit) = 0

Pensar dos veces :

Como se puede ver en la pregunta que necesito para seleccionar todas las filas que tienen cualquiera de los dos valores dados de forma dinámica y donde boolean las filas (tinyint) es falsa

Aquí está mi consulta actual, pero sólo está excluyendo las filas que tienen el category_company_idcomo 0 y category_disabledcomo 1 y no los que tienen category_company_idcomo 1 y category_disabledcomo 1

SELECT * FROM `category` 
WHERE `category_company_id` = 1 
OR `category_company_id` = 0 
AND `category_disabled` = 0

¿Qué estoy haciendo mal?

¿Hay una manera de separar el WHERE y O de la Y?

Gracias por adelantado

pasarán;

Su código es equivalente a:

WHERE `category_company_id` = 1 
OR (`category_company_id` = 0 AND `category_disabled` = 0)

porque Y tiene mayor prioridad que OR.
Se pueden utilizar paréntesis:

WHERE (`category_company_id` = 1 OR `category_company_id` = 0 )
AND `category_disabled` = 0

o el operador IN:

WHERE `category_company_id` IN (0, 1) AND `category_disabled` = 0

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=387584&siteId=1
Recomendado
Clasificación