ЛЕВОЕ НАРУЖНОЕ СОЕДИНЕНИЕ для SalesForce не работает

Я попытался выполнить левое внешнее соединение с SalesForce Db, чтобы получить поля Id и ProductCode из таблицы Product2 и некоторые поля из связанной (если существует) PriceBookEntry. У меня тоже есть PriceBook2 с id='01sd00000008iWpAAI'. Вот пример запроса:

SELECT Id, ProductCode, 
(SELECT Id, PriceBook2Id, PriceBookEntry__r.Product2Id FROM PriceBookEntry__r 
WHERE PriceBook2Id='01sd00000008iWpAAI') 
FROM Product2 WHERE ProductCode IN 
('151','250','256','270','289')

Возвращенная мне ошибка:

INVALID_TYPE: PriceBookEntry__r.Product2Id FROM PriceBookEntry 
WHERE PriceBook2Id='01sd00000008iWpAAI') 
^ ERROR at Row:1:Column:89 
Didn't understand relationship 'PriceBookEntry__r' in FROM part of query call. 
If you are attempting to use a custom relationship, 
be sure to append the '__r' after the custom relationship name. 
Please reference your WSDL or the describe call for the appropriate names..

Я пробовал несколько вариантов для этого запроса, но безуспешно. У меня есть строки для этих ProductCodes в таблице Product2.

Что я там скучаю?

1 ответ

Решение

Я нашел решение: ключ находится в таблице PriceBookEntry. это должно быть во множественном числе (PriceBookEntries). Таким образом, запрос должен быть:

SELECT Id, ProductCode, 
(SELECT Id, PriceBook2Id, Product2Id FROM PriceBookEntries
WHERE PriceBook2Id='01sd00000008iWpAAI') 
FROM Product2 WHERE ProductCode IN 
('151','250','256','270','289')
Другие вопросы по тегам