メインコンテンツまでスキップ
バージョン: 20 R7 BETA

INTERSECTION

INTERSECTION ( set1 ; set2 ; resultSet )

引数説明
set1Text最初のセット
set2Text2番目のセット
resultSetText結果のセット

説明

INTERSECTIONコマンドは、set1set2を比較し、set1set2の両方に存在するレコードだけを選択します。下表に、INTERSECTIONコマンドの処理で考えられるすべての組み合わせを示します。

Set1Set2Result Set
YesNoNo
YesYesYes
NoYesNo
NoNoNo

以下の図に、集合交差演算の処理結果を図で示します。塗りつぶした部分が結果のセットです。

resultSetはINTERSECTIONコマンドで作成されます。 resultSetと同じ名前のセット (set1set2も含めて) が既に存在する場合はresultSetに置き換わります。set1set2は同じテーブルに属していなければなりません。resultSetset1set2と同じテーブルに属します。set1set2両方に同じカレントレコードが設定されている場合、そのカレントレコードはresultSetに保持されます。カレントレコードが異なる場合、resultSetはカレントレコードを保持しません。

4D Server: クライアント/サーバモードにおいて、セットはタイプ (インタープロセス、プロセスおよびローカル) およびそれらがどこで作成されたか (サーバまたはクライアント) によって、アクセス可能かどうかが決定されます。INTERSECTIONでは3つのセットが同じマシン上でアクセスできる必要があります。詳細は4D Server Referenceマニュアルの4D Server: セットと命名セレクションに関する説明を参照してください。

例題

以下の例は、“Joe”と“Abby”という2人の販売担当者が重複して担当する顧客を検索します。販売担当者は、各自の顧客を表すセット“Joe”と“Abby”を持っています。

 INTERSECTION("Joe";"Abby";"Both") // 両方の顧客のセットを作成する
 USE SET("Both") // セットを使う
 CLEAR SET("Both") // セットを消去、ただし他は残す
 DISPLAY SELECTION([Customers]) // 両方が担当する顧客を表示

参照

DIFFERENCE
UNION