soql – getting child cmdt records with parent where clause

Let’s say we have

SELECT 
        ETL_Entities_Mapping__r.DeveloperName,
        ETL_Entities_Mapping__r.Entity_Api_Name__c, 
        ETL_Entities_Mapping__r.File_Name__c,
        ETL_Entities_Mapping__r.Where_Clause__c,
        ETL_Entities_Mapping__r.External_Id_Name__c,
        ETL_Entities_Mapping__r.Is_details_source__c,
        ETL_Dictionary__r.Label_True__c,
        ETL_Dictionary__r.Label_False__c,
        ETL_Dictionary__r.JSON__c,
        ETL_Entities_Mapping__r.Operation_Type__c,
        ETL_Entities_Mapping__r.Direction__c,
        Source_Field_Type__c,
        Target_Field_Name__c, 
        Source_Field_Name__c,
        Excluded_from_header__c,
        Excluded_from_recordset__c

    FROM ETL_Fields_Mapping__mdt
    WHERE ETL_Entities_Mapping__c IN 
        (SELECT Id 
        FROM ETL_Entities_Mapping__mdt 
        WHERE Direction__c="{direction}")

why do i need to use derived there?

Read more here: Source link