Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL multiple WHERE AND/OR Bedingungslogik

Sie müssen OR verwenden statt AND in der zweiten Bedingung

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 macht beide Bedingungen gültig und gibt keine Ergebnisse zurück

Unten ist der richtige Weg, um die Bedingung bereitzustellen,

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