1

SalesForce Dbへの左外部結合を実行して、Product2テーブルからIdフィールドとProductCodeフィールドを取得し、関連する(存在する場合)PriceBookEntryからいくつかのフィールドを取得しようとしました。id='01sd00000008iWpAAI'のPriceBook2もあります。サンプルクエリは次のとおりです。

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..

このクエリに対していくつかのバリアントを試しましたが、成功しませんでした。Product2テーブルにこれらのProductCodesの行があります。

私はそこで何が恋しいですか?

4

1 に答える 1

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')
于 2012-09-11T20:22:40.070 に答える