sql >> Database teknologi >  >> RDS >> Mysql

MySQL multiple WHERE AND/OR condition logik

Du skal bruge OR i stedet for AND i den anden tilstand

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 gør både betingelserne gyldige og returnerer ingen resultater

Nedenfor er den rigtige måde at give tilstanden på,

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


  1. MYSQL:Sammenføj liste over værdier i en tabel

  2. Opret en skalær brugerdefineret funktion i SQL Server

  3. Sådan finder du duplikerede poster i PostgreSQL

  4. 3 måder at finde rækker, der indeholder store bogstaver i MySQL