关系查询设计器用户界面 (Report Builder 2.0)

Report Builder 2.0 同时提供了图形查询设计器和基于文本的查询设计器,帮助您创建查询,以指定要从 MicrosoftSQL Server 关系数据库中为报表数据集检索的数据。使用图形查询设计器可以浏览元数据、以交互方式生成查询,还可以查看查询结果。 使用基于文本的查询设计器可以查看图形查询设计器生成的查询,也可以修改查询。您还可以从文件或报表中导入现有的查询。

注意注意

在 Report Builder 2.0 中,必须使用基于文本的查询设计器才能为 Oracle、OLE DB、ODBC 和 Teradata 等数据源类型指定查询。有关详细信息,请参阅基于文本的查询设计器用户界面 (Report Builder 2.0)

有关如何打开查询设计器的分步说明,请参阅如何打开查询设计器生成数据集查询 (Report Builder 2.0)

关系查询设计器的工具栏

关系查询设计器工作栏提供了以下按钮,帮助您指定或查看查询结果。

按钮

说明

编辑为文本

切换到基于文本的查询设计器,可查看自动生成的查询,也可以修改查询。

导入

从文件或报表中导入现有的查询。支持 .sql 和 .rdl 文件类型。

运行查询

运行查询。“查询结果”窗格显示结果集。

关系查询设计器窗格

关系查询设计器有助于生成 Transact-SQL SELECT 语句,用来为报表数据集指定要检索数据的数据库表和列。此查询设计器具有以下窗格:“数据库视图”窗格、“所选字段”窗格、“关系”窗格、“应用的筛选器”窗格和“查询结果”窗格。

  • 数据库视图
    显示按数据库架构组织的表、视图、存储过程和表值函数的层次结构视图。

  • 所选字段
    在“数据库视图”窗格中显示选定项中的数据库字段名称列表。这些字段将成为报表数据集的字段集合。

  • 函数参数
    在“数据库视图”窗格中显示存储过程或表值函数的输入参数列表。

  • 关系
    在“数据库视图”窗格中显示通过表或视图中选定字段推断出的默认“JOIN”的自动创建列表。

  • 应用的筛选器
    在“数据库视图”中显示表或视图的字段列表和筛选条件。

  • 查询结果
    显示自动生成的查询的结果集示例数据。

“数据库视图”窗格

“数据库视图”窗格显示您有权查看的数据库对象的元数据,该元数据取决于数据源连接和凭据。层次结构视图显示按数据库架构组织的数据库对象。展开每个架构的节点可查看表、视图、存储过程及表值函数。展开表或视图可显示列。

“所选字段”窗格

“所选字段”窗格显示为表或视图选择的数据库字段,或者为存储过程或表值函数选择的输入参数。此窗格中显示的字段将成为报表数据集的字段集合。创建数据集和查询后,使用“报表数据”窗格可查看报表数据集的字段集合。这些字段表示当您查看报表时可在表、图表及其他报表项中显示的数据。

若要在此窗格中添加或删除字段,请在“数据库视图”窗格中选中或清除表或视图字段的复选框。

“函数参数”窗格

“函数参数”窗格显示存储过程或表值函数的参数。显示以下列:

  • 参数名称 显示由存储过程或表值函数定义的参数名称。

  • 在查询运行以检索在设计时在“查询结果”窗格中显示的数据时用于查询参数的值。当报表在运行时运行时不使用此值。

“关系”窗格

“关系”窗格显示根据从数据库元数据检索的外键约束自动确定的联接关系。显示以下列:

  • 左表 显示联接关系中第一个表的名称。

  • 关系 显示自动生成的查询中所使用的 Transact-SQL JOIN 语句的类型。默认情况下,如果检测到外键约束,将会使用 INNER JOIN。其他关系可以为 LEFT JOIN 或 RIGHT JOIN。否则,关系显示**“无关”**。无关的联接会在查询中生成 CROSS JOIN。有关 JOIN 类型的详细信息,请参阅 SQL Server 联机丛书中的“JOIN 基础知识”。

  • 右表 显示联接关系中第二个表的名称。

若要删除关系,必须在“数据库视图”窗格中取消选择此关系依赖的所有选定的字段。

“应用的筛选器”窗格

“应用的筛选器”窗格显示用于限定在运行时检索的数据行数的条件。此窗格中指定的条件用于生成 Transact-SQL WHERE 子句。如果选择了参数选项,则会自动创建报表参数。通过基于查询参数的报表参数,用户可为查询指定值,以便控制报表中的数据。

显示以下列:

  • 字段名称 显示应用该条件的字段的名称。

  • 运算符 显示要在筛选表达式中使用的运算。

  • 显示要在筛选表达式中使用的值。

  • 参数 显示用于为查询添加查询参数的选项。使用“数据集属性”可查看查询参数与报表参数之间的关系。有关详细信息,请参阅如何使查询参数与报表参数关联 (Report Builder 2.0)

“查询结果”窗格

“查询结果”窗格显示由其他窗格中的选项指定并且自动生成的查询的结果。结果集中的列是您在“所选字段”窗格中指定的字段,行数据受限于您在“应用的筛选器”窗格中指定的筛选器。

此数据表示在运行查询时数据源中的值。此数据未保存在报表定义中。报表中的实际数据是在处理报表时进行检索的。

结果集中的排序顺序取决于从数据源检索数据的顺序。可以通过修改查询来更改排序顺序,也可以在为报表检索数据后更改。有关详细信息,请参阅对报表中的数据进行排序 (Report Builder 2.0)

了解自动生成的查询

当您在“数据库视图”窗格中选择表和列或存储过程及视图时,查询设计器将从数据库架构中检索主键与外键的基本关系。通过分析这些关系,查询设计器可确定要在表之间执行的 JOIN 的类型。如果两个表之间存在关系,则查询设计器将指定 INNER JOIN。否则,查询设计器指定 CROSS JOIN。

所生成的查询始终至少包含每个表中的一个列。不支持自动生成不包含任何表中任何列的查询。

若要最大限度地控制查询,请使用基于文本的查询设计器。若要切换到基于文本的查询设计器,请在工具栏中单击**“编辑为文本”**。一旦在基于文本的查询设计器中编辑了查询,就不能再使用关系查询设计器了。随后,查询将始终在基于文本的查询设计器中打开。