差結合ビューの作成¶
差結合ビューは、1 番目の入力ビューのすべての行を選択し、2 番目のビューにある行を結果から削除します。差結合ビューに 3 番目の入力ビューを指定している場合、そのビューにある行も結果から削除されます。差結合ビューには、複数の入力ビューを指定できます。それらの各ビューが、互いに異なるデータベースに属していてもかまいません。
たとえば、以下の内容を持つ 3 つのビューがあるとします。
View_A |
|
---|---|
A |
B |
1 |
a |
2 |
b |
4 |
d |
View_B |
|
---|---|
A |
B |
1 |
a |
5 |
e |
6 |
f |
View_C |
|
---|---|
A |
B |
2 |
b |
5 |
e |
6 |
f |
View_A
、 View_B
、および View_C
から差結合ビューを作成して、この新しいビューに対してクエリを実行すると、まずクエリ View_A minus View_B
が実行され、以下の結果が得られます。
View A Minus View B |
|
---|---|
A |
B |
2 |
b |
4 |
d |
View_A
の 1 番目の行が View_B
に存在するので、この行は結果から削除されます。
次に、 <first intermediate result> minus View_C
が実行されます。
このビュー View A Minus View B Minus View C
に対してクエリを実行すると、以下の結果が得られます。
View A Minus View B Minus View C |
|
---|---|
A |
B |
4 |
d |
View_A
の 2 番目の行が結果から削除されていることがわかりますが、これは View_C
にもこの行が存在しているからです。
新しい差結合ビューを作成するウィザードは、和結合ビューのウィザードとほとんど同じです (「 和結合ビューの作成 」を参照)。
差結合ビューを作成するには、[File] > [New] メニューで [Minus] をクリックするか、[Server Explorer] で右クリックして [New] メニューで [Minus] をクリックします。
[Minus view] ダイアログが開き、[Server Explorer] で現在選択している 1 つまたは複数のビューが追加されます。さらにビューを追加するには、[Model] タブをクリックして、追加するビューを [Server Explorer] からこのタブにドラッグします。
重要
差結合ビューのすべての入力ビューは、フィールド数が同じであることが必要です。
[Minus view] ダイアログには、以下の 6 つのタブがあります。
Model: 新しい差結合ビューの入力ビューをこのタブにドラッグして、それらのビューのフィールドを関連付けます。同じ名前のフィールドはウィザードによって自動的に関連付けられますが、それ以外のフィールドは手動で関連付ける必要があります。
入力ビューの すべて のフィールド間にアソシエーションを追加する必要があります。
[View order] ボックスで、差結合操作の実行順序を指定する必要があります。ビューの順序によって、ビューの結果が異なることがあります。
たとえば、ビューの順序が
View_a \ View_b \ View_c
であれば、まずView_a
とView_b
の差結合が実行され、その中間結果とView_c
の差結合が実行されます。ビューの順序が
View_c \ View_b \ View_a
であれば、まずView_c
とView_b
の差結合が実行され、その中間結果とView_a
の差結合が実行されます。どちらの「ビューの順序」でも、関係するビューは同じですが、操作結果は異なることがあります。このタブで、「ビューパラメータ」を追加できます。ビューパラメータの説明と、これを使用するために必要なルールについては、「 派生ビューのパラメータ 」を参照してください。
Associations: フィールド間のアソシエーションのリストが表示されます。
をクリックすると、アソシエーションを削除できます。
Where Conditions: ビューの定義に WHERE 条件を追加できます。
Group By: ビューに GROUP BY 属性を追加できます。
Output: ビューの出力を構成できます。具体的には、ビューとそのフィールドの名前の変更、派生属性の追加などができます。
Metadata: 新しいビューの格納先フォルダと説明を定義できます。
[Where Conditions]、[Group By]、[Output]、および [Metadata] の各タブの動作は [Union view] ダイアログの場合と同じです (「 和結合ビューの作成 」を参照)。

3 つの入力ビューからの差結合ビューの作成¶