Как написать SOQL-запрос указав в ORDER BY значение переменной?
Как написать SOQL-запрос указав в ORDER BY значение переменной?
Только динамикой
String sortField = 'Sort_Field__c';
String theQuery = 'SELECT Id, Some_Field_1__c, Some_Field_2__c FROM Some_Object__c ORDER BY ' + sortField;
List<Some_Object__c> result = (List<Some_Object__c>) Database.query(theQuery);
Bind variables в данном случае не поддерживаются, идею об этом особо никто не поддержал
https://success.salesforce.com/ideaView?id=08730000000l56WAAQ
Только динамикой String sortField = 'Sort_Field__c'; String theQuery = 'SELECT Id, Some_Field_1__c, Some_Field_2__c FROM Some_Object__c ORDER BY ' + sortField; List<Some_Object__c> result = (List<Some_Object__c>) Database.query(theQuery); Bind variables в данном случае не поддерживаются, идею об этом особо никто не поддержал https://success.salesforce.com/ideaView?id=08730000000l56WAAQ
Ну это логично что биндинг в ORDER BY не работает и идею не сильно поддерживают.
ORDER принимает как параметр метадату а не данные. И логично что он будет работать как те же SELECT ... FROM ... которые тоже биндинг не понимают.
Так что да, динамический query в помощь
Ну это логично что биндинг в ORDER BY не работает и идею не сильно поддерживают. ORDER принимает как параметр метадату а не данные. И логично что он будет работать как те же SELECT ... FROM ... которые тоже биндинг не понимают. Так что да, динамический query в помощь :)