function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
mohan naga manikanta karimsettimohan naga manikanta karimsetti 

SOQL query with Multi Select Picklist in where clause

List<String> newMultiSelectList = new List<String>();

newMultiSelectList.add('Pro-Life'); newMultiSelectList.add('Establishment'); newMultiSelectList.add('GOP');

string value = '('' + String.join(newMultiSelectList, '','')+'')';

// I need results that includes all the three values (AND Condition)

//I tried this, but it is taking as OR condition

String queryString = 'select id, Audience_Tags__c FROM Audience__c WHERE Audience_Tags__c INCLUDES'+value;
List<Audience__c> newlist = DataBase.query(queryString); system.debug('List of records: '+newlist);

Any help would be appreciated
VinayVinay (Salesforce Developers) 
Check below reference for SOQL Query on a multi-select picklist.

https://help.salesforce.com/articleView?id=000334304&type=1&mode=1
https://developer.salesforce.com/docs/atlas.en-us.soql_sosl.meta/soql_sosl/sforce_api_calls_soql_querying_multiselect_picklists.htm

Thanks,
Abhishek BansalAbhishek Bansal
You should use the ';' operator to join these values instead of using a ',' operator. Please change the code like below:
List<String> newMultiSelectList = new List<String>();

newMultiSelectList.add('Pro-Life'); newMultiSelectList.add('Establishment'); newMultiSelectList.add('GOP');

string value = '';
for(String pickVal : newMultiSelectList) {
value = value + pickVal + ';';
}

Now you can use this value in query with Includes operator.

Thanks,
Abhishek Bansal.