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
Simran Singh 22Simran Singh 22 

Querying MultiPickList in soql

List<String> caList = new List<String>();
List<SelectOPtion> categorySelectOptionList = new List<SelectOPtion>();
for (Schema.PicklistEntry f : Idea.Categories.getDescribe().getPicklistValues()) {
                    categorySelectOptionList.add(new SelectOption(f.getValue(),f.getLabel()));
                    caList.add(String.valueOf(f.getValue()));
                }



String query = 'Select id, title, categories, Sub_category__c, Sub_sub_category__c from Idea where (  categories INCLUDES('+caList+'))';
List<idea> idaList = DataBase.query(query);
system.debug(idaList);

It gives an error: Line: 11, Column: 1
System.QueryException: expecting a colon, found '('
Raj VakatiRaj Vakati
Hi Simran ,
Here is the code for you . 

String caList = '' ;  
    List<SelectOPtion> categorySelectOptionList = new List<SelectOPtion>();
for (Schema.PicklistEntry f : Idea.Categories.getDescribe().getPicklistValues()) {
                    categorySelectOptionList.add(new SelectOption(f.getValue(),f.getLabel()));
                   caList = caList+'\''+f.getValue()+'\',';
                }

System.debug('caList==>'+caList);
caList = caList.removeEnd(',');


String query = 'Select id, title, categories from Idea where  categories INCLUDES ('+caList+')';
System.debug('query'+query);
List<idea> idaList = DataBase.query(query);
system.debug(idaList);