共用方式為


關聯式查詢設計工具使用者介面 (報表產生器 2.0)

報表產生器 2.0 同時提供了圖形化查詢設計工具和以文字為基礎的查詢設計工具來協助您建立查詢,以便指定要從報表資料集之 MicrosoftSQL Server 關聯式資料庫中擷取的資料。您可以使用圖形化查詢設計工具來瀏覽中繼資料、以互動方式建立查詢以及檢視查詢的結果。 您可以使用以文字為基礎的查詢設計工具來檢視圖形化查詢設計工具所建立的查詢,或是修改查詢。您也可以從檔案或報表匯入現有的查詢。

[!附註]

在報表產生器 2.0 中,若要指定 Oracle、OLE DB、ODBC 和 Teradata 資料來源類型的查詢,您必須使用以文字為基礎的查詢設計工具。如需詳細資訊,請參閱<以文字為基礎的查詢設計工具使用者介面 (報表產生器 2.0)>。

如需有關如何開啟查詢設計工具的逐步指示,請參閱<如何:為資料集查詢開啟查詢設計工具 (報表產生器 2.0)>。

關聯式查詢設計工具的工具列

關聯式查詢設計工具的工具列會提供下列按鈕來協助您指定或檢視查詢的結果。

按鈕

說明

當成文字編輯

切換至以文字為基礎的查詢設計工具,以便檢視自動產生的查詢,或是修改查詢。

匯入

從檔案或報表匯入現有的查詢。支援 .sql 和 .rdl 檔案類型。

執行查詢

執行查詢。[查詢結果] 窗格會顯示結果集。

關聯式查詢設計工具窗格

關聯式查詢設計工具可協助您建立 Transact-SQL SELECT 陳述式,以便指定要從中擷取報表資料集之資料的資料庫資料表和資料行。這個查詢設計工具含有下列窗格:[資料庫檢視] 窗格、[選取的欄位] 窗格、[關聯性] 窗格、[套用的篩選器] 窗格和 [查詢結果] 窗格。

  • 資料庫檢視
    顯示資料表、檢視表、預存程序和資料表值函數的階層式檢視 (依照資料庫結構描述所組織)。

  • 選取的欄位
    顯示來自 [資料庫檢視] 窗格中選取之項目的資料庫欄位名稱清單。這些欄位會成為報表資料集的欄位集合。

  • 函數參數
    針對 [資料庫檢視] 窗格中的預存程序或資料表值函數顯示輸入參數的清單。

  • 關聯性
    顯示自動建立的預設 JOIN 清單,而它們是從 [資料庫檢視] 窗格中資料表或檢視表的選取欄位所推斷的。

  • 套用的篩選器
    針對 [資料庫檢視] 窗格中的資料表或檢視表顯示欄位和篩選準則的清單。

  • 查詢結果
    針對自動產生的查詢顯示結果集的範例資料。

資料庫檢視窗格

[資料庫檢視] 窗格會顯示您有權檢視之資料庫物件的中繼資料,而這個權限是由資料來源連接和認證所決定。階層式檢視會檢視依照資料庫結構描述所組織的資料庫物件。您可以展開每個結構描述的節點,以便檢視資料表、檢視表、預存程序和資料表值函數。您可以展開資料表或檢視表來顯示資料行。

選取的欄位窗格

[選取的欄位] 窗格會顯示您針對資料表或檢視表所選取的資料庫欄位,或是預存程序或資料表值函數的輸入參數。顯示在這個窗格中的欄位會成為報表資料集的欄位集合。在您建立資料集和查詢之後,請使用 [報表資料] 窗格來檢視報表資料集的欄位集合。這些欄位代表檢視報表時,您可以在資料表、圖表和其他報表項目中顯示的資料。

若要在這個窗格中加入或移除欄位,請在 [資料庫檢視] 窗格中選取或清除資料表或檢視表欄位的核取方塊。

函數參數窗格

[函數參數] 窗格會顯示預存程序或資料表值函數的參數。系統會顯示下列資料行:

  • 參數名稱:顯示預存程序或資料表值函數所定義之參數的名稱。

  • :在設計階段執行查詢時,用於參數的值,以便擷取要顯示於 [查詢結果] 窗格中的資料。在執行階段執行報表時,不會使用這個值。

關聯性窗格

[關聯性] 窗格會顯示根據從資料庫中繼資料中擷取的外部索引鍵條件約束所自動判斷的聯結關聯性。系統會顯示下列資料行:

  • 左側資料表:顯示屬於聯結關聯性一部分之第一份資料表的名稱。

  • 關聯性:顯示用於自動產生之查詢的 Transact-SQL JOIN 陳述式類型。根據預設,如果系統偵測到外部索引鍵條件約束,就會使用 INNER JOIN。其他關聯性可能是 LEFT JOIN 或 RIGHT JOIN。否則,關聯性會顯示成 [不相關]。不相關的聯結會在查詢中產生 CROSS JOIN。如需有關 JOIN 類型的詳細資訊,請參閱《SQL Server 線上叢書》中的<聯結基礎觀念>。

  • 右側資料表:顯示聯結關聯性中第二份資料表的名稱。

若要刪除關聯性,您必須在 [資料庫檢視] 窗格中取消選取這個關聯性所相依的所有選取欄位。

套用的篩選器窗格

[套用的篩選器] 窗格會顯示用來限制在執行階段所擷取之資料列數目的準則。在這個窗格中指定的準則會用來產生 Transact-SQL WHERE 子句。當您選取參數選項時,就會自動建立報表參數。以查詢參數為基礎的報表參數可讓使用者指定查詢的值,以便控制報表中的資料。

系統會顯示下列資料行:

  • 欄位名稱:顯示要套用準則的欄位名稱。

  • 運算子:顯示要在篩選運算式中使用的作業。

  • :顯示要在篩選運算式中使用的值。

  • 參數:顯示要將查詢參數加入至查詢的選項。您可以使用資料集屬性來檢視查詢參數與報表參數之間的關聯性。如需詳細資訊,請參閱<如何:將查詢參數與報表參數產生關聯 (報表產生器 2.0)>。

查詢結果窗格

[查詢結果] 窗格會針對其他窗格中之選取項目所指定的自動產生查詢顯示結果。結果集中的資料行就是您在 [選取的欄位] 窗格中指定的欄位,而且資料列資料是由您在 [套用的篩選器] 窗格中指定的篩選所限制。

這項資料代表您執行查詢時來自資料來源的值。這項資料不會儲存在報表定義中。報表中的實際資料是在處理報表時擷取的。

從資料來源中擷取資料的順序會決定結果集中的排序次序。不過,您可以透過修改查詢,或在擷取報表的資料之後,變更排序次序。如需詳細資訊,請參閱<排序報表中的資料 (報表產生器 2.0)>。

了解自動產生的查詢

當您在 [資料庫檢視] 窗格中選取資料表和資料行或預存程序和檢視表時,查詢設計工具就會從資料庫結構描述中擷取基礎主索引鍵和外部索引鍵關聯性。查詢設計工具會透過分析這些關聯性,判斷要在資料表之間執行的 JOIN 類型。當兩份資料表之間存在關聯性時,查詢設計工具就會指定 INNER JOIN。否則,查詢設計工具會指定 CROSS JOIN。

產生的查詢一定至少包含來自每份資料表的一個資料行。不支援自動產生不包含來自每份資料表之資料行的查詢。

若要對查詢擁有最佳控制權,請使用以文字為基礎的查詢設計工具。若要切換至以文字為基礎的查詢設計工具,請按一下工具列中的 [當成文字編輯]。一旦您在以文字為基礎的查詢設計工具中編輯查詢之後,就無法再使用關聯式查詢設計工具。之後,查詢永遠都會在以文字為基礎的查詢設計工具中開啟。