メイン コンテンツをスキップする 補完的コンテンツへスキップ

親子関係クエリーを生成するためのスキーマを設定する方法

このセクションでは、親子関係クエリーを生成するためのモジュール名とスキーマカラムを設定する方法を示します。

次の2つの親子関係クエリーの例は、次の手順のデモンストレーションを目的としています。

  • SELECT Name, Owner.Name (SELECT CreatedBy.Name FROM Notes) FROM Account、標準オブジェクトとフィールドを使った親子関係クエリー、および

  • SELECT LastName__c, (SELECT FirstName__c FROM Daughters__r) FROM Mother__c、カスタムオブジェクトとフィールドを使った親子関係クエリー。

    ここでは__r instead of __cで関係名を使う必要があります。詳細については、Understanding Relationship Names, Custom Objects, and Custom Fields (英語のみ)をご覧ください。

手順

  1. 上記の例の外部クエリーFROM句、AccountMother__cで指定されたオブジェクトの名前を使って、モジュール名を設定するために使われます。
  2. スキーマダイアログボックスのSELECTの後ろに、フィールド(サブクエリーのフィールドを含む)ごとにカラムを作成します。

    最初の例では、3つのフィールドに対して3つのカラムを作成する必要があります。外側のSELECTの後ろに2つのフィールドNameOwner.Nameを、サブクエリーSELECTの後ろに1つのフィールドCreatedBy.Nameを含めます。

    2番目の例では、2つのフィールドに対して2つのカラムを作成する必要があります。外側のSELECTの後ろにフィールドLastName__c、サブクエリーSELECTの後ろにフィールドFirstName__cを含めます。

  3. 括弧の外側にある外側のSELECT句のフィールドについては、各カラムの名前を各フィールドの名前に設定し、カラム名のすべてのドットをアンダースコア文字に置き換えます。

    最初の例では、外側のSELECT句の2つのフィールドNameOwner.Nameのカラム名がNameOwner_Nameです。

    2番目の例では、フィールド名にドットがないため、カラム名はフィールド名と同じです。

  4. サブクエリーSELECTのフィールドについては、パターン<$XXX>_records_<$YYY>を使ってカラム名を構成します。<$XXX>はサブクエリーFROM句で指定したオブジェクトの名前に対応し、<$YYY>はすべてのドットがアンダースコア文字に置き換えられたフィールド名になります。

    最初の例では、サブクエリー内のフィールドCreatedBy.Nameのカラム名がNotes_records_CreatedBy_Nameに設定されています。

    2番目の例では、サブクエリー内のフィールドFirstName__cのカラム名がDaughters__r_records_FirstName__cに設定されています。

  5. 各カラムのタイプを設定するために使われます。

    最初の例のスキーマは次のように設定する必要があります。

    2番目の例のスキーマは次のように設定する必要があります。

    Talendスキーマでは、アンダースコア文字'_'は関係名とフィールド名の間の区切りとして使われます。したがって、クエリーを生成する時に'__r'または'__c'の後ろに続くアンダースコア文字'_'のみがドット文字'.'に置き換えられます。Contact_custom_field__cのようにアンダースコア文字'_'がスキーマ内のカスタム名の一部である場合、クエリー内ではContact.custom_field__cとすべきなので、生成されたクエリー内の'_'を手動で'.'に置き換える必要があります。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。