在嵌套查询中使用 Pricebook id 获取 PriceBook 商品详细信息

问题描述 投票:0回答:1

我有一个名为Edition的sObject,它有相关的PriceBook id,在查询Edition详细信息时如何获取PriceBook的项目:

我尝试过的:

  query = f"""
           SELECT
                Id,
                Name,
                Edition_Name__c,
                End_Date__c,
                Start_Date__c,
                Legal_Entity__c,
                CurrencyIsoCode,
                Status__c,
                Price_Book__c,
                (SELECT Id, Name FROM PricebookEntry WHERE Pricebook2Id = Price_Book__c)
            FROM Edition__c
            WHERE Id = '{edition_id}'
        # """
python salesforce soql simple-salesforce
1个回答
0
投票

如果该字段是真正的查找,您应该能够一次性执行 JOIN。如果它只是一个文本字段,并且恰好包含与价目表 ID 匹配的值 - 您将需要 2 个查询。

当你运行这个时你会得到什么?

SELECT Name, ProductCode, UnitPrice
FROM PricebookEntry
WHERE Pricebook2Id IN (SELECT Price_Book__c FROM Edition__c WHERE Id = '...')

如果您知道“关系名称”,甚至可以尝试对主题进行一些变化

SELECT Id, Name,
    (SELECT Name, ProductCode, UnitPrice FROM PricebookEntries),
    (SELECT Name, Start_Date__c FROM Editions__r)
FROM Pricebook2
WHERE Id IN (SELECT Price_Book__c FROM Edition__c WHERE Id = '...')
© www.soinside.com 2019 - 2024. All rights reserved.