ワークスペースにテーブルを追加すると、Studio Query は主キー間のを自動的に作成します。主キーがない場合、Query はインデックス キー間に結合を作成します。
ただし、自動結合では、クエリする特定のフィールドがリンクされない場合があります。その場合、フィールドを 1 つのテーブルから別のテーブルにドラッグ アンド ドロップするか、 [結合テーブルの検索] コマンドを使用して、結合を削除し、新しい結合を追加できます。フィールドは、同じ名前、サイズ、およびデータ型である必要があります。
同じ名前、サイズ、またはデータ型がない場合でも、フィールド間に結合を追加できますが、これは、テーブルの基になるデータに精通している場合にのみ行ってください。結合にインデックスが付けられていない場合、クエリにかかる時間が長くなります。
Query は、不一致の結合のフィールドを自動的にパディングしません。
通常のテーブルで結合を作成することに加えて、クラスター テーブルとプール テーブル、およびビューを結合できます。テーブルをそれ自体に結合することもできます (テーブルの 2 番目のインスタンスはエイリアスと呼ばれます)。
結合を探す
- ワークスペースで、テーブルをクリックします。
- [ワークスペース] タブで、[結合テーブルの検索] をクリックします。
- ドロップダウン メニューをクリックして、結合するテーブルを選択します。
Studio に、直接結合のリストが表示されます。
- 必要な結合のチェックボックスを選択し、[選択した結合の適用] をクリックします。
中間結合を見つける
結合テーブルの検索で 2 つのテーブル間のリンクが見つからない場合は、それぞれに接続する 3 番目のテーブル (ブリッジなど) を見つけることができます。これらの接続は中間結合です。
- [結合の検索] ボックスで、 [中間結合] をクリックします。
Studio に、直接結合のリストが表示されます。
- 必要な結合のチェックボックスを選択し、[選択した結合の適用] をクリックします。
手動で結合を追加する
2 つのテーブル間の結合を作成する
- 一方のテーブルからフィールドをドラッグし、もう一方のテーブルの対応するフィールドにドロップします。
結合されたテーブルからのすべてのダウンロードは内部結合によって行われます。一致するすべてのレコードがダウンロードされます。
テーブルをそれ自身に結合する
- [ワークスペースに追加] ボタンをダブルクリックして、テーブルとそのエイリアスをクエリ ビルダー領域に追加します。たとえば、テーブルが MARA の場合、そのエイリアスは MARA1 です。
- 結合を作成するには、テーブルまたはエイリアスからフィールドを、テーブルまたはエイリアスの対応するフィールドにドラッグします。
一致するすべてのレコードがダウンロードされます。
左外部結合
2 番目のテーブルに一致するレコードがない場合でも、左外部結合を使用して 1 つのテーブルからデータをダウンロードできます。左外部結合はクエリを遅くし、SAP システムでより多くの処理リソースを使用する可能性があることに注意してください。
左外部結合には、左テーブルを指す矢印があります。
内部結合を左外部結合に変換する
- テーブル間の結合リンクを右クリックします。
- ショートカット メニューで、 [左外部結合に変換] をクリックします。
左外部結合に変換するとクエリが遅くなる可能性があることを通知する警告メッセージが表示されます。
左外部結合を削除または変換するには、次の手順を実行します。
- 左外部結合を右クリックします。
- ショートカット メニューで、[削除] をクリックするか、 または [内部結合に変換] をクリックします。
左外部結合を作成するための条件
- 外部結合からは、左側の外部結合のみがサポートされます。
- クエリには、左外部結合を 1 つだけ含めることができます。
- クエリに含めることができるテーブルは 25 個のみです。
- 左外部結合の右側のテーブルは、他の結合の右側のテーブルにすることはできません。
- 2 つのテーブル間の左外部結合の場合、他のタイプの結合はそれらのフィールド間で許可されません。
- 左外部結合がある右テーブルのフィールドは、条件の選択には使用できません。
- 以前のバージョンの Query で変更された左外部結合を持つクエリは、正確な結果を生成しない可能性があります。
- すでに左外部結合があるクエリで新しい内部結合を作成する場合は、次の手順を実行します。
- すべてのエントリは、左外部結合条件に適合します。
- グリッドで一部の結合を選択すると、左外部結合の制限により、他の結合が無効になる場合があります。
- Winshuttle Function Module がバージョン 10.2 より前のものであり、左外部結合を使用してクエリを実行した場合、クエリは実行されません。
結合を削除する
- 削除する結合行を右クリックし、[削除] をクリックします。
不一致の結合
Winshuttle Query では、インデックス付きフィールドとインデックスなしフィールドの間、および異なる文字長のフィールド間の結合が可能です。ただし、情報の種類、品目、番号、組織単位などは同じである必要があります。
他の不一致フィールド間の結合は許可される場合がありますが、データを抽出することはできません。このような状況では、Query は結合を介してデータをダウンロードできないという警告を表示します。
主キー リンクとチェック テーブル リンク
テーブル内の主キーが同じフィールド名を持ち、同じデータ型とフィールド サイズである場合、主キーの結合が可能です。主キーは黄色のキーアイコンで示されます。インデックスは青い反転キーで示されます。
プライマリ キーがリンクされている場合、インデックス キーは自動的に結合されません。
チェック テーブル リンクは、2 つのテーブルが外部キー フィールドによってリンクされている場合に存在します。1 つのテーブルは、そのフィールドの一部を、チェック テーブルと呼ばれる別のテーブルの主キーとして割り当てます。