2015-08-21 4 views
1

Надеюсь это будет легко ответить:Limit SOQL результаты запроса из пункта детского

select name, id, description, isactive, productcode, imageurl__c, (select name, id, unitprice,Must_Override_Price__c, Is_Taxable__c from PricebookEntries where pricebook2id =: pbe.id) from product2 

Как предотвратить product2 записей которые не имеют ребенка pricebookentry записей из запроса?

Так что скажем, у меня есть 10 продуктов, но только два соответствуют предложению WHERE. Я хочу, чтобы эти два появлялись, поэтому я не трачу ресурсы/строки.

ответ

1

Выполните запрос в обратном порядке. Вы все равно можете получить все необходимые поля Product2, и вы получите результаты только для существующих записей PricebookEntry.

E.g.

select Id, Name, Pricebook2Id, Product2Id, UnitPrice, IsActive, UseStandardPrice, 
     ProductCode, IsDeleted, 
     Product2.Id, Product2.Name 
from PricebookEntry 
where pricebook2id = :pbe.id 
1

Вы можете сделать запрос в обратном порядке, как указано в комментарии Даниила или попытаться положить где состояние в верхнем запросе, а

select name, id, description, isactive, productcode, imageurl__c, 
    (select name, id, unitprice,Must_Override_Price__c, Is_Taxable__c 
    from PricebookEntries 
    where pricebook2id =: pbe.id) 
from product2 
where Id IN (select Product2Id 
       from PricebookEntries 
      where pricebook2id =: pbe.id) 

 Смежные вопросы

  • Нет связанных вопросов^_^