SOQL-соединение между двумя стандартными объектами

Все, что я хочу сделать, это получить информацию из двух стандартных объектов Account и Case. Потому что я пробовал соединения (которые позже я обнаружил, не работает с SOQL), отношения (которые не существуют в моем случае. Кроме отношения по умолчанию). Ниже приводится еще одна попытка использования подзапроса: (По умолчанию я имею в виду, что Id в Account совпадает с AccountId в Case)

Select Phone,City__c,CreatedDate,Name, (SELECT Customer_Satisfaction_Level__c,Product_Category__c FROM AccountId__r) FROM Account;

Кроме того, SOQL не позволяет использовать псевдонимы, которые помогли бы мне, когда я работаю с QlikView. Пожалуйста помоги!


person Salik    schedule 11.11.2013    source источник
comment
вы можете задать этот вопрос на salesforce.stackexchange.com?   -  person Ganesh Bhosle    schedule 11.11.2013


Ответы (2)


Используйте этот запрос ниже ... Надеюсь, это может быть выгодно для вас

Выберите телефон, City__c, CreatedDate, Name, (SELECT Customer_Satisfaction_Level_ c FROM AccountId _r, где AccountId__r.ID = ID) в качестве Customer_Satisfaction_Level__c, (SELECT Product_Category_ c FROM AccountId _r, где AccountId__r. ID = ID) как Product_Category__c ОТ Учетной записи;

person Aswin    schedule 11.11.2013
comment
нет. не работает. AccountId__r - это отношения, которые, как я думал, существуют, но это не так. - person Salik; 11.11.2013

Вы можете выбрать учетные записи со связанными случаями следующим образом:

List<Account> accounts = [Select Id, (Select Id From Cases) From Account];

А затем перебрать результаты:

for (Account account : accounts) {
   for (Case case : account.Cases) {
      ...
   }
}
person Dmitry Shnyrev    schedule 11.11.2013
comment
Мне нужны имена из аккаунта и детали дела из дел. следовательно, соединение между ними. - person Salik; 12.11.2013
comment
ВЫБЕРИТЕ Id, Name, (SELECT Id, Name, some_field1, some_field2 FROM Cases) FROM Account. А в цикле вместо ... вы можете получить эти поля вот так: SYSTEM.DEBUG ('Имя учетной записи -' + account.Name); SYSTEM.DEBUG ('Связанное имя дела -' + case.Name); - person Dmitry Shnyrev; 15.11.2013