Exists (DMX)

适用于: SQL Server Analysis Services

如果指定的子查询至少返回一行,则返回 true

语法

  
EXISTS(<subquery>)  

参数

subquery
SELECT * FROM <列名称> [WHERE <谓词列表>] 形式的 SELECT 语句。

结果类型

如果子查询返回的结果集至少包含一行,则返回 true;否则返回 false

注解

可以在 EXISTS 前面使用 NOT 关键字:例如 WHERE NOT EXISTS (<subquery>)

添加到 EXISTS 的子查询参数中的列的列表是无关紧要的;函数仅检查满足条件的行是否存在。

示例

可使用 EXISTS 和 NOT EXISTS 检查嵌套表中的条件。 这在创建控制定型或测试数据挖掘模型所使用的数据的筛选器时,将很有用。 有关详细信息,请参阅“挖掘模型筛选器”(Analysis Services - 数据挖掘)。

以下示例基于在基本数据挖掘教程中创建的[Association]挖掘结构和挖掘模型。 该查询仅返回其中客户至少购买一个 patch kit 的那些事例。

SELECT * FROM [Association].CASES  
WHERE EXISTS  
(  
SELECT * FROM [v Assoc Seq Line Numbers]  
WHERE [[Model] = 'Patch kit'  
)  

查看此查询返回的相同数据的另一种方法是在关联查看器中打开模型,右键单击项集 Patch kit = Existing,选择 钻取 选项,然后选择 “仅模型事例”。

另请参阅

函数 (DMX)
模型筛选器语法和示例 (Analysis Services - 数据挖掘)