- ▪ マッピングでクエリソースタイプを使用して複数のテーブルから読み取る場合、同じカラム名を持つ1つ以上のテーブルに対して結合を設定すると、マッピングは失敗します。
例えば、SALES.PUBLICスキーマの一部である2つのテーブル、EMPLOYEEとDEPARTMENTの間の完全な外部結合を含む次のSQLクエリを見てみます。2つのカラムは同じCITYという名前です。
SELECT EMP_ID, NAME, CITY, DEPT_ID, DEPT_NAME, CITY
FROM SALES.PUBLIC.EMPLOYEE
FULL OUTER JOIN SALES.PUBLIC.DEPARTMENT ON EMP_ID = DEPT_ID
競合するカラム名を区別するには、テーブルを結合するときにデータベースが参照できるエイリアスを追加します。
SELECT e.EMP_ID, e.NAME, e.CITY as ecity, d.DEPT_ID, d.DEPT_NAME, d.CITY as dcity
FROM SALES.PUBLIC.EMPLOYEE e
FULL OUTER JOIN SALES.PUBLIC.DEPARTMENT d ON e.EMP_ID = d.DEPT_ID
- ▪ クエリがWITH句で始まる場合は、WITHの前にセミコロン(;)がないことを確認してください。
例えば、;With TEMP_OBJ AS (Select 'abc' AS FIELD1,123 AS Field2) Select Field1,Field2 from Temp_OBJは有効なクエリではありません。
- ▪ ソースカスタムクエリではDECLAREステートメントを使用しないでください。
- ▪ クエリのパラメータには、実行時にオーバーライドされるデフォルト値が必要です。
- ▪ カスタムクエリを使用してカラム名が類似した複数のテーブルからデータを読み取る場合、テーブルを結合するには、それらのカラム名に対してエイリアスを使用する必要があります。
- ▪ Microsoft Azure Synapse SQLからデータを読み取る場合は、Secure AgentのJVMオプションで次のプロパティを設定する必要があります。
-DAzureSynapseDisableStagingForSort=true
- ▪ Microsoft Azure Synapse SQLにデータを書き込む場合、ORDER BY句は使用できません。
- ▪ ルックアップトランスフォーメーションでカスタムクエリを使用する場合は、次のタスクを実行する必要があります。
- ▪ Secure AgentのJVMオプションで-DAzureSynapseDisableStagingForSort=trueプロパティを設定します。
- ▪ 詳細ルックアッププロパティで[ソート済み入力]オプションを有効にします。
- ▪ クエリには、ルックアップ条件に昇順で含まれる条件フィールドのORDER BY句が最初に含まれ、次に他のフィールドが任意の順序で含まれている必要があります。
- ▪ 複数の行を返すようにルックアップトランスフォーメーションを設定した場合、[すべての行を返す]オプションを使用すると、値が適切な順序で返されません。