Exists (DMX)
適用対象:SQL Server Analysis Services
指定したサブクエリが少なくとも 1 行を返す場合はtrue を返します。
構文
EXISTS(<subquery>)
引数
subquery
SELECT * FROM <column name> [WHERE <predicate list>] という形式の SELECT ステートメント。
結果の種類
サブクエリによって返される結果セットに少なくとも 1 つの行が含まれている場合はtrue を返します。それ以外の場合は、falseを返します。
解説
EXISTS の前に NOT キーワード (例: WHERE NOT EXISTS (<subquery>)
) を使用できます。
EXISTS のサブクエリ引数に追加する列の一覧は関係ありません。この関数は、条件を満たす行の存在のみをチェックします。
例
EXISTS と NOT EXISTS を使用して、入れ子になったテーブル内の条件を確認できます。 これは、データ マイニング モデルのトレーニングまたはテストに使用されるデータを制御するフィルターを作成する場合に便利です。 詳細については、「マイニング モデルの フィルター (Analysis Services - データ マイニング)」を参照してください。
次の例は、Basic データ マイニング チュートリアルで作成した[Association]
マイニング構造とマイニング モデルに基づいています。 このクエリでは、お客様が少なくとも 1 つのパッチ キットを購入したケースのみが返されます。
SELECT * FROM [Association].CASES
WHERE EXISTS
(
SELECT * FROM [v Assoc Seq Line Numbers]
WHERE [[Model] = 'Patch kit'
)
このクエリによって返されるのと同じデータを表示するもう 1 つの方法は、関連付けビューアーでモデルを開き、アイテムセット Patch kit = Existing を右クリックし、 [ドリル スルー ] オプションを選択し、[モデル ケースのみ 選択。