このセクションでは、親子関係クエリーを生成するためのモジュール名とスキーマカラムを設定する方法を示します。
次の2つの親子関係クエリーの例は、次の手順のデモンストレーションを目的としています。
手順
-
上記の例の外部クエリー
FROM
句、Account
、Mother__c
で指定されたオブジェクトの名前を使って、モジュール名を設定します。
-
スキーマダイアログボックスの
SELECT
の後ろに、フィールド(サブクエリーのフィールドを含む)ごとにカラムを作成します。
最初の例では、3つのフィールドに対して3つのカラムを作成する必要があります。外側のSELECT
の後ろに2つのフィールドName
とOwner.Name
を、サブクエリーSELECT
の後ろに1つのフィールドCreatedBy.Name
を含めます。
2番目の例では、2つのフィールドに対して2つのカラムを作成する必要があります。外側のSELECT
の後ろにフィールドLastName__c
、サブクエリーSELECT
の後ろにフィールドFirstName__c
を含めます。
-
括弧の外側にある外側の
SELECT
句のフィールドについては、各カラムの名前を各フィールドの名前に設定し、カラム名のすべてのドットをアンダースコア文字に置き換えます。
最初の例では、外側のSELECT
句の2つのフィールドNameとOwner.Nameのカラム名がNameとOwner_Nameです。
2番目の例では、フィールド名にドットがないため、カラム名はフィールド名と同じです。
-
サブクエリー
SELECT
のフィールドについては、パターン<$XXX>_records_<$YYY>
を使ってカラム名を構成します。<$XXX>
はサブクエリーFROM
句で指定したオブジェクトの名前に対応し、<$YYY>
はすべてのドットがアンダースコア文字に置き換えられたフィールド名になります。
最初の例では、サブクエリー内のフィールドCreatedBy.Nameのカラム名がNotes_records_CreatedBy_Nameに設定されています。
2番目の例では、サブクエリー内のフィールドFirstName__cのカラム名がDaughters__r_records_FirstName__cに設定されています。
-
各カラムのタイプを設定します。
最初の例のスキーマは次のように設定する必要があります。
2番目の例のスキーマは次のように設定する必要があります。
Talendスキーマでは、アンダースコア文字'_'は関係名とフィールド名の間の区切りとして使われます。したがって、クエリーを生成する時に'__r'または'__c'の後ろに続くアンダースコア文字'_'のみがドット文字'.'に置き換えられます。Contact_custom_field__c
のようにアンダースコア文字'_'がスキーマ内のカスタム名の一部である場合、クエリー内ではContact.custom_field__c
とすべきなので、生成されたクエリー内の'_'を手動で'.'に置き換える必要があります。