Сложный Apex SOQL Query - PullRequest
       29

Сложный Apex SOQL Query

0 голосов
/ 13 февраля 2020

Мне нужно создать запрос SOQL с несколькими логическими операторами AND / OR:

Это мой текущий действующий SOQL:

List<Goal__c> goalList = [
SELECT Id, RecordType.DeveloperName, This_Year_Title__c, Year__c, Month__c, OwnerId, TAT_Company__c
FROM Goal__c
WHERE RecordType.DeveloperName IN :recordTypeSet
AND (
    (
        This_Year_Title__c IN :actualShippingYearSet
        AND Year__c IN :actualShippingYearSet
        AND (OwnerId IN :salesRepIdSameYearSet OR TAT_Company__c IN :tatCompanySameYearValueSet)
    )
    OR (
        This_Year_Title__c IN :lineCreationYearSet
        AND Year__c IN :requestYearSet
        AND (OwnerId IN :salesRepIdDifferentYearSet OR TAT_Company__c IN :tatCompanyDifferentYearValueSet)
    )
    OR (
        (This_Year_Title__c IN :actualShippingYearSet
         AND Year__c IN :actualShippingYearSet)
        OR (This_Year_Title__c IN :lineCreationYearSet
            AND Year__c IN :requestYearSet)
    )
)
];

Внутри есть 3 блока условий и оператор AND , Но, как вы можете видеть, все блоки находятся в одном и том же состоянии, но не одинаковы

Как я могу свести SOQL к минимуму?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...