Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Lógica de condição múltipla WHERE AND/OR do MySQL


Você tem que usar OR em vez de AND na segunda condição
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 torna ambas as condições válidas e não retorna nenhum resultado

Abaixo está a maneira correta de fornecer a condição,
 AND ((li.MSAttributeID in (82, 85) AND li.MSAttributeValID in (5, 6, 223, 229, 247 )) OR (li.MSAttributeID = 82 AND li.MSAttributeValID = 6))