ЛЕВОЕ НАРУЖНОЕ СОЕДИНЕНИЕ для 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')