目次
内部結合とは
ABAPにおける内部結合(Inner Join)は、複数のテーブルを共通キーに基づいて結合し、必要なデータをまとめて取得するための命令です。
基本的には SELECT 文と組み合わせて使用し、指定した2つのテーブルの間で結合条件を満たすレコードを抽出します。
内部結合のイメージを図示すると、結合部分だけを取り出しているように考えるとわかりやすいでしょう。
基本構文(Inner Joinの基本)
2つのテーブルを内部結合する場合、基本的な構文は以下のとおりです。
SELECT COLUMNS
FROM TABLEA
INNER JOIN TABLEB ON
TABLEA~COLUMNS = TABLEB~COLUMNS
INTO TABLE @INNER_TABLE.
ON 句の直後に結合先のテーブルを指定し、その次に結合条件を記述します。
3つのテーブルを内部結合する方法
続いて、3つのテーブルを内部結合する例を見てみましょう。
たとえば、テーブルAとテーブルBは「COLUMNS1」で結合し、テーブルAとテーブルCは「COLUMNS2」で結合するケースを想定します。
SELECT COLUMNS1,
COLUMNS2
FROM TABLEA
INNER JOIN TABLEB ON
TABLEA~COLUMNS1 = TABLEB~COLUMNS1
INNER JOIN TABLEC ON
TABLEA~COLUMNS2 = TABLEC~COLUMNS2
INTO TABLE @INNER_TABLE.
結合したいテーブルの数だけ INNER JOIN と結合条件を追加していけば、複数のテーブルを同時に結合できます。
INTO TABLE で指定するテーブル変数の直前に @ をつける記法は ABAP 7.4 以降で導入されたもので、最新の構文に対応しています。
ABAP 7.4と7.5以降の新しい文法:内部テーブル操作の基本
S/4 HANAで使用可能な文法「ABAP7.4以降」について、7.4と7.5より前の文法と比較しながら解説します。この記事では、特に内部テーブルから特定の行を抽出する方法に焦点…
まとめ
- 内部結合を使う際は、まず2テーブルでの基本的な構文を押さえましょう。
- 複数テーブルを結合する場合は、結合するテーブルとその条件をひとつずつ追加していくイメージです。
- 実際の開発では、WHERE 句なども組み合わせて条件がより複雑になることがよくありますが、今回紹介したポイントを理解しておけば対応しやすくなります。
以上がABAPでの内部結合(Inner Join)の基本的な使い方です。複数テーブルを結合して効率的にデータを取得したいときに、ぜひ活用してみてください。