ページの先頭行へ戻る
Interstage Navigator ServerV9.6.0 管理者ガイド(辞書管理ツール編)(Standard Edition用)
FUJITSU Software

3.4.5 内部結合と外部結合を混在させる場合

Navigatorでは、問い合わせ時に2つ以上の結合定義を利用して、データベースでテーブルを結合する時、外部結合([結合先と一致しないレコードを含める]チェックボックスにチェックしている結合)と、内部結合([結合先と一致しないレコードを含める]チェックボックスのチェックを外している結合)が混在している場合、すべての外部結合により、テーブルが結合されます。

そのため、求める問い合わせ結果によっては、条件を指定して、絞り込みを行う必要があります。以下に、例を示します。

スノーフレーク型による結合定義の混在の例

スノーフレーク型の内部結合と外部結合が混在した場合の例を説明します。

以下の図のような(1)の結合定義を行っている場合、(2)の結果を期待する場合と、(3)の結果を期待する場合が考えられますが、実際には、(4)のような(3)相当の結果が出力されます。

(2)の結果を出力したい場合には、メーカ名を条件に指定して絞り込みを行ってください。

なお、問い合わせ結果は、すべて全値型管理ポイントを使用した場合を想定しています。

+:右外部結合(Navigatorでは、結合「元」テーブルが「右」、結合「先」テーブルが「左」に結合されます。)

-:内部結合

():優先する結合定義

スタースキーマ型による結合定義の混在の例

スタースキーマ型の内部結合と外部結合が混在した場合の例を説明します。

以下の図のような(1)の結合定義を行っている場合、(2)または(3)を期待する場合が考えられますが、実際には(4)の結果が出力されます。

そのため、(2)または(3)の結果を出力したい場合には、顧客名を条件に指定して絞り込みを行ってください。

なお、問い合わせ結果は、すべて全値型管理ポイントを使用した場合を想定しています。

+:右外部結合(Navigatorでは、結合「元」テーブルが「右」、結合「先」テーブルが「左」に結合されます。)

-:内部結合

():優先する結合定義