結合のある行を取得
「結合のある行を取得」操作は、一致する SQL 結合節に基づいて 1 つ (自己結合) または複数のテーブルの列を組み合わせることによって行を取得するときに使用します。
「結合のある行を取得」操作は以下のタイプの結合をサポートしていません。
自然結合
交差結合
* 
等価結合は等号演算子と内部結合を使用することで結合条件でサポートされます。
ワークフローで「結合のある行を取得」操作を使用するには、次の手順を完了します。
1. 「SQL コネクタ」の下の「結合のある行を取得」操作をキャンバスにドラッグし、この操作にマウスポインタを合わせて をクリックするか、この操作をダブルクリックします。「結合のある行を取得」ウィンドウが開きます。
2. 必要に応じて、「ラベル」を編集します。デフォルトでは、ラベル名は操作名と同じです。
3. SQL コネクタタイプを追加するには、サポートされている SQL コネクタタイプを参照してください。
以前にコネクタタイプを追加した場合は、該当する「コネクタタイプ」を選択し、「コネクタ名」でコネクタを選択します。
4. 「テスト」をクリックしてこのコネクタを検証します。
5. 「マップコネクタ」をクリックして、入力フィールドの設定に使用しているコネクタとは異なるコネクタを使用して操作を実行します。「ランタイムコネクタ」フィールドに、有効な SQL コネクタ名を入力します。「マップコネクタ」の詳細については、マップコネクタの使用を参照してください。
6. 「テーブル」グループで、以下の操作を行います。
a. 「テーブル」リストで、適切なデータベーステーブルまたはビューを選択します。
b. 「エイリアス」フィールドに、テーブルのエイリアスを入力します。このエイリアスを使用してテーブルが識別されます。このステップはオプションです。
* 
少なくとも 2 つのテーブルを選択しなければなりません。3 つ以上のテーブルを追加するには、「追加」をクリックします。追加したテーブルを削除するには、 をクリックします。
7. 「制限」フィールドに、取得する行の数を入力します。一度に最大 5000 行を取得できます。
8. 「スキップ」フィールドに、結果で先頭から何行目までをスキップするかを入力します。
9. 「Join 節の使用」リストで、次のいずれかの操作を行います。
「Join 節の使用」リストで「選択」を選択した場合
a. 「結合」グループの「左のテーブル」リストで、テーブルの名前またはエイリアスを選択します。
b. 「結合条件」グループで、以下の操作を行います。
a. 「結合タイプ」リストで、以下のいずれかのオプションを選択します。
内部結合
左外部結合
完全外部結合
右外部結合
* 
MySQL は完全外部結合をサポートしていません。
b. 「右のテーブル」リストで、テーブルの名前またはエイリアスを選択します。
c. 「左の列」リストで、結合条件の左側に設定する列を選択します。
マッピングの場合、列名にテーブル名を追加します。例: tablename.columnnameエイリアスを指定している場合は、列名にエイリアスを追加します。例: alias.columnname
d. 「演算子」リストで、適切な条件演算子を選択します。
e. 「右の列」リストで、結合条件の右側に設定する列を選択します。
マッピングの場合、列名にテーブル名/エイリアスを追加します。例: tablename.columnnameエイリアスを指定している場合は、列名にエイリアスを追加します。例: alias.columnname
複数の結合条件を追加するには、「追加」をクリックします。追加した結合条件を削除するには、 をクリックします。
または
「Join 節の使用」リストで「クエリー」を選択した場合
「Join 節」フィールドで、すべての必須入力値を次のいずれかの SQL クエリーフォーマットで入力します。
table1 FULL OUTER JOIN table2 ON table1.column_name = table2.column_name
table1 alias1 FULL OUTER JOIN table2 alias2 ON alias1.column_name = alias2.column_name
10. 「フォーム」を選択して、フォームにリストされている個々の入力フィールドで入力値を指定するか、「JSON を割り当て」を選択して、必要なすべての入力を含む 1 つの JSON を指定します。
「フォーム」を選択した場合
a. 列内で一意の値を返すには、「列を選択」グループで「個別」チェックボックスをオンにします。これはオプションです。
b. 「列」グループで、「追加」をクリックし、「列」リストで、結果に表示する列を選択します。
マッピングの場合、列名にテーブル名/エイリアスを追加します。例: tablename.columnnameエイリアスを指定している場合は、列名にエイリアスを追加します。例: alias.columnname
複数の列を追加するには、「追加」をクリックします。追加した列を削除するには、 をクリックします。
c. 「Where」グループの「節を次によって結合」リストで、以下のいずれかのオプションを選択します。
「AND」 - 「属性」グループで指定したすべての条件が真を返さなければなりません。
「OR」 - 「属性」グループで指定した、いずれかの条件が真を返さなければなりません。
d. 「属性」グループで、「追加」をクリックし、以下の操作を行います。
a. 「属性」リストで、フィルタする列を選択します。
マッピングの場合、列名にテーブル名/エイリアスを追加します。例: tablename.columnnameエイリアスを指定している場合は、列名にエイリアスを追加します。例: alias.columnname
b. 「演算子」リストで、適切な条件演算子を選択します。
c. 「値」フィールドに、フィルタする列の値を入力します。
結合節に複数の属性を追加するには、「追加」をクリックします。追加した属性を削除するには、 をクリックします。
同じ属性を追加して「節を次によって結合」リストで「AND」を選択した場合、それらの属性は「OR」演算子によって結合されます。
または
「JSON を割り当て」を選択した場合
「列を選択」フィールドで、すべての必須入力値を{"distinct":ブール値, "columns":[{"columns":"string"}]}フォーマットで入力します。
たとえば、このフィールドには次のような値を指定できます。
{"distinct":true/false, "columns":[{"columns":"tablename.columnname"}]}
{"distinct":true/false, "columns":[{"columns":"alias.columnname"}]}
* 
プライマリキーの列を選択しておらず、「個別」チェックボックスをオンにしていない場合でも、出力スキーマではプライマリキーの列が返されます。
11. 「Where 節の使用」リストで、次のいずれかの操作を行います。
「Where 節の使用」リストで「選択」を選択した場合
a. 「Where」グループの「節を次によって結合」リストで、以下のいずれかのオプションを選択します。
「AND」 - 「属性」グループで指定したすべての条件が真を返さなければなりません。
「OR」 - 「属性」グループで指定した、いずれかの条件が真を返さなければなりません。
b. 「属性」グループで、「追加」をクリックし、以下の操作を行います。
a. 「属性」リストで、フィルタする列を選択します。
b. 「演算子」リストで、適切な条件演算子を選択します。
c. 「値」フィールドに、フィルタする列の値を入力します。
結合節に複数の属性を追加するには、「追加」をクリックします。属性を削除するには、 をクリックします。
同じ属性を追加して「節を次によって結合」リストで「AND」を選択した場合、それらの属性は「OR」演算子によって結合されます。
または
「Where 節の使用」リストで「クエリー」を選択した場合
「Where 節」フィールドで、すべての必須入力値を次のいずれかの SQL クエリーフォーマットで入力します。
table1.column1 = 'text value' AND table2.column2 >= 13
alias1.column1 = 'text value' AND alias2.column2 >= 13
12. 「順序」グループで、「追加」をクリックし、以下の操作を行います。
a. 「列名」フィールドで、結果の並べ替えに使用する列を選択します。
マッピングの場合、列名にテーブル名/エイリアスを追加します。例: tablename.columnnameエイリアスを指定している場合は、列名にエイリアスを追加します。例: alias.columnname
b. 「順序」リストで、「昇順」または「降順」を選択します。
結果の並べ替えに複数の列を追加するには、「追加」をクリックします。並べ替えに追加した列を削除するには、 をクリックします。
13. 「完了」をクリックします。
出力スキーマ
「結合のある行を取得」操作の出力スキーマは複数の行を返します。
テーブルにエイリアスを指定している場合、出力スキーマは、alias.columnname というフォーマットで行を返します。テーブルにエイリアスを指定していない場合、出力スキーマは、tablename.columnname というフォーマットで行を返します。
これは役に立ちましたか?