sql >> Base de Datos >  >> RDS >> Mysql

MySQL múltiple DONDE Y/O lógica de condición

Tienes que usar OR en lugar de AND en la segunda condición

AND ((li.MSAttributeID = 82 AND li.MSAttributeValID = 5) OR (li.MSAttributeID = 82 AND li.MSAttributeValID = 6))
OR ((li.MSAttributeID = 85 AND li.MSAttributeValID = 223) OR (li.MSAttributeID = 85 AND li.MSAttributeValID = 229) OR (li.MSAttributeID = 85 AND li.MSAttributeValID = 247))

AND hace que ambas condiciones sean válidas y no arroja resultados

A continuación se muestra la forma correcta de proporcionar la condición,

 AND ((li.MSAttributeID in (82, 85) AND li.MSAttributeValID in (5, 6, 223, 229, 247 )) OR (li.MSAttributeID = 82 AND li.MSAttributeValID = 6))