Регистрация  |  Вход

Как в ORDER BY положить значение переменной?

Как написать 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 в помощь :)