SQL Server 查詢設計師使用者介面
新增: 2006 年 4 月 14 日
Reporting Services 同時提供了圖形化查詢設計師和一般查詢設計師,用來建立查詢,以便從關聯式資料庫中擷取資料做為 [報表設計師] 中的報表資料集。圖形化查詢設計師提供了視覺表示法來呈現資料來源中的基礎資料,使用圖形化查詢設計師可進行瀏覽,並以互動方式建立查詢和檢視結果。一般查詢設計師則提供了直接輸入查詢文字的方式,使用一般查詢設計師可建立、貼上或編輯查詢文字,也可以執行命令和檢視結果。
若要在一般查詢設計師和圖形化查詢設計師之間切換,請按一下工具列上的 [一般查詢設計師] () 切換按鈕。有些複雜的查詢和以運算式為基礎的查詢,無法在圖形化查詢設計師中表示。
如需有關使用 SQL Server 資料來源的詳細資訊,請參閱<定義 SQL Server 關聯式資料庫的報表資料集>和<報表資料的如何主題>。
命令類型
查詢命令有三種不同的類型:[Text]、[StoredProcedure] 或 [TableDirect]。在您建立查詢之前,必須先從 [命令類型] 下拉式清單中選取一種命令類型。預設的命令類型為 [Text]。[Text] 類型支援關聯式資料庫資料來源的標準 Transact-SQL 查詢文字,包括 Microsoft SQL Server 和 Oracle 的資料處理延伸模組。選取 [StoredProcedure] 就可在查詢中使用預存程序;選取 [TableDirect] 則可執行 SELECT * 命令的對等命令,以擷取資料表中的所有欄位。
附註: |
---|
並不是所有資料處理延伸模組都支援所有的類型。基礎資料提供者必須支援某種命令類型,才能使用所有的功能。Microsoft SQL Server 資料處理延伸模組只支援 [Text] 和 [StoredProcedure]。Microsoft OLE DB Provider for SQL Server 的 OLE DB 資料處理延伸模組則支援 [Text]、[StoredProcedure] 和 [TableDirect]。 |
若要切換類型,請按一下工具列上的 [編輯選取的資料集] 按鈕 (),即可開啟 [資料集] 對話方塊。從 [命令類型] 下拉式清單中選取類型,然後按一下 [確定]。查詢設計師便會以選取的類型開啟。
圖形化查詢設計師
圖形化查詢設計師中有四個窗格:[圖表]、[方格]、[SQL] 和 [結果]。您可以使用以視覺表示法呈現的資料庫資料表和以選取的資料行擴展的中繼資料方格。您可以指定 Transact-SQL 查詢的資料行、別名、排序值和篩選值。您也可以檢視依據選取項目所產生的查詢文字、執行查詢,以及檢視結果集。如果是 [StoredProcedure] 命令類型,您可以從資料來源中所擷取的預存程序下拉式清單中選取預存程序、執行該預存程序,然後在 [結果] 窗格中查看結果。同樣地,如果是 [TableDirect] 命令類型,您可以從資料來源中所擷取的資料表下拉式清單中選取資料表、執行會選取資料表中所有資料行的預設查詢,然後在 [結果] 窗格中查看結果。
Text 命令類型
在 [Text] 類型中,圖形化查詢設計師提供了四個區域或窗格。下圖會標示出各個窗格。
下表會描述各個窗格的功能。
窗格 | 功能 |
---|---|
圖表 |
顯示查詢中之資料表的圖形表示。使用此窗格,即可選取欄位並定義資料表之間的關聯性。 |
方格 |
顯示查詢傳回的欄位清單。使用此窗格,即可定義別名、排序、篩選、群組和參數。 |
SQL |
顯示以 [圖表] 和 [方格] 窗格表示的 Transact-SQL 查詢。使用此窗格,即可利用 Transact-SQL 來撰寫或更新查詢。 |
結果 |
顯示查詢的結果。若要執行查詢,請以滑鼠右鍵按一下任何窗格,然後按一下 [執行],或是按一下工具列上的 [執行] 按鈕。 |
當您在前三個窗格中的任何一個窗格內變更資訊時,那些變更將會出現在其他窗格中。例如,如果您在 [圖表] 窗格中加入資料表,則也會將該資料表自動加入至 [SQL] 窗格中的 Transact-SQL 查詢。如果將欄位加入至 [SQL] 窗格中的查詢,則也會將該欄位自動加入至 [方格] 窗格中的清單,以及更新 [圖表] 窗格中的資料表。
若要在某個窗格內執行動作,例如將資料表加入至 [圖表] 窗格中,請以滑鼠右鍵按一下該窗格內部,然後按一下功能表項目。
重要事項: |
---|
如果您使用查詢設計師建立或更新查詢,必須將變更儲存到報表中。若要執行這項作業,可以按一下 [重新整理欄位] () 按鈕,或者切換到 [配置] 檢視,或者按一下 [檔案] 功能表上的 [全部儲存]。 |
圖形化查詢設計師工具列
圖形化查詢設計師工具列會提供按鈕,協助您使用圖形化介面設計 Transact-SQL 查詢。下圖會顯示工具列,並以表格說明各個按鈕及其功能。
按鈕 | 描述 |
---|---|
編輯選取的資料集。 |
|
刪除選取的資料集。 |
|
重新整理資料來源中的資料集欄位。如果將 [資料集] 視窗顯示出來,則所做的任何欄位變更,都會在選取之資料集的欄位清單中予以更新。若要檢視資料集視窗,請按一下 [檢視] 功能表上的 [資料集]。 |
|
在一般查詢設計師和圖形化查詢設計師之間切換。 |
|
顯示或隱藏 [圖表] 窗格。 |
|
顯示或隱藏 [方格] 窗格。 |
|
顯示或隱藏 [SQL] 窗格。 |
|
顯示或隱藏 [結果] 窗格。 |
|
執行查詢。 |
|
檢查查詢文字的語法是否正確。 |
|
將 [圖表] 窗格中選取之資料行的排序順序,設定為 [遞增排序]。 |
|
將 [圖表] 窗格中選取之資料行的排序順序,設定為 [遞減排序]。 |
|
針對 [圖表] 窗格中標示為有篩選 () 之選取的資料行,移除其篩選。 |
|
顯示或隱藏 [方格] 窗格中的 [群組依據] 資料行。當 [群組依據] 切換為開啟時,[方格] 窗格中會出現一個名稱為 [群組依據] 的額外資料行,而且查詢中選取之資料行的每一個值都會預設為 [群組依據],這樣就會將選取的資料行包含在 SQL 文字的 Group By 子句中。使用 [群組依據] 按鈕即可自動加入 GROUP BY 子句,該子句會包含 SELECT 子句中的所有資料行。如果 SELECT 子句中包含的是彙總函數呼叫 (例如 SUM(ColumnName)),但是您希望非彙總資料行也出現在結果集中,則請將其包含在 GROUP BY 子句中。 查詢中的每個資料行都必須定義彙總函數,用以計算要顯示在 [結果] 窗格中的值,或者必須在 SQL 查詢的 GROUP BY 子句中指定查詢的資料行,這樣資料行才會出現在 [結果] 窗格中。 |
|
將資料來源中的新資料表加入至 [圖表] 窗格中。 注意:當您加入新資料表時,查詢設計師會嘗試比對資料來源中的外部索引鍵關聯性。因此,在加入資料表之後,請確認以資料表之間的連結所表示的外部索引鍵關聯性是否正確。 |
範例
下列查詢會從 AdventureWorks 資料庫 Contact 資料表中傳回姓氏清單:
SELECT LastName FROM Person.Contact
您也可以從 [SQL] 窗格中執行預存程序。下列查詢會在 AdventureWorks 資料庫中執行 uspGetEmployeeManagers 預存程序:
EXEC uspGetEmployeeManagers '1'
StoredProcedure 命令類型
在 [StoredProcedure] 類型中,圖形化查詢設計師會顯示資料來源中可使用的預存程序下拉式清單和 [結果] 窗格。下圖會標示出各個窗格。
下表會描述各個窗格的功能。
窗格 | 功能 |
---|---|
預存程序下拉式清單 |
列出資料來源中所有可使用的預存程序。從清單中選取一項,即可使其變成使用中狀態。 |
結果 |
顯示執行預存程序的結果。若要執行選取的預存程序,請按一下工具列上的 [執行] 按鈕。 |
StoredProcedure 命令類型的工具列按鈕
圖形化查詢設計師工具列會提供資料來源中的預存程序下拉式清單。下圖會顯示各個按鈕及其功能。
按鈕 | 描述 |
---|---|
編輯選取的資料集。 |
|
刪除選取的資料集。 |
|
重新整理資料來源中的資料集欄位。 |
|
在一般查詢設計師與圖形化查詢設計師之間切換,並保留查詢文字或預存程序檢視。 |
|
執行選取的預存程序。 |
|
預存程序下拉式清單 |
按一下向下箭頭,即可顯示資料來源中可使用的預存程序清單。按一下清單中的任何一個預存程序,以選取它。 |
範例
下列預存程序會從 AdventureWorks 資料庫中呼叫員工經理的命令鏈結清單。這個預存程序會接受 EmployeeID 做為參數。您可以輸入任何較小的整數。
uspGetEmployeeManagers '1'
TableDirect 命令類型
在 [TableDirect] 類型中,圖形化查詢設計師會顯示資料來源中可使用的資料表下拉式清單和 [結果] 窗格。如果選取資料表並按一下 [執行] 按鈕,便會傳回該資料表的所有資料行。
附註: |
---|
並不是所有資料提供者都支援這種類型。使用 Microsoft OLE DB Provider for SQL Server 的 OLEDB 是支援 [TableDirect] 類型的其中一個資料提供者。 |
下圖會標示出各個窗格。
下表會描述各個窗格的功能。
窗格 | 功能 |
---|---|
資料表下拉式清單 |
列出資料來源中所有可使用的資料表。從清單中選取一項,即可使其變成使用中狀態。 |
結果 |
顯示選取之資料表中的所有資料行。若要執行資料表查詢,請按一下工具列上的 [執行] 按鈕。 |
TableDirect 命令類型的工具列按鈕
圖形化查詢設計師工具列會提供資料來源中的資料表下拉式清單。下圖會顯示各個按鈕及其功能。
按鈕 | 描述 |
---|---|
編輯選取的資料集。 |
|
刪除選取的資料集。 |
|
重新整理資料來源中的資料集欄位。 |
|
在一般查詢設計師與圖形化查詢設計師之間切換,並保留查詢文字或預存程序檢視。 |
|
從選取的資料表中選取所有的資料行。 |
|
資料表下拉式清單 |
按一下向下箭頭,即可顯示資料來源中可使用的資料表清單。按一下清單中的任何一個資料表,以選取它。 |
一般查詢設計師
一般查詢設計師是用於較複雜的查詢、從其他工具貼上查詢,或是用於以運算式為基礎的查詢。一般查詢設計師與圖形化查詢設計師支援相同的三種命令類型:[Text]、[StoredProcedure] 和 [TableDirect]。它有兩個窗格:[查詢] 窗格會顯示查詢文字、預存程序或資料表名稱;[結果] 窗格會顯示執行查詢的結果。[Text] 是預設類型。
若要變更類型,請按一下工具列上的 [命令類型] 下拉式清單,並選取一種類型。
一般查詢設計師工具列
一般查詢設計師為所有的命令類型提供了單一工具列。下圖會顯示工具列,並以表格說明各個按鈕及其功能。
按鈕
描述
編輯選取的資料集。
刪除選取的資料集。
重新整理資料來源中的資料集欄位。
執行查詢文字或預存程序,並將結果集顯示在 [結果] 窗格中。
命令類型
選取 [Text]、[StoredProcedure] 或 [TableDirect]。如果預存程序含有參數,當您按一下工具列上的 [執行] 時,便會顯示 [定義查詢參數] 對話方塊,您可以依照需要填入值。
附註:
如果預存程序傳回一個以上的結果集,則會使用第一個結果集來擴展資料集。
Text 命令類型
當您建立 SQL Server 資料集時,依預設,[報表設計師] 會顯示圖形化查詢設計師。若要切換到一般查詢設計師,請按一下工具列上的一般查詢設計師 () 切換按鈕。一般查詢設計師提供了兩個窗格:[查詢] 窗格和 [結果] 窗格。下圖會標示出各個窗格。
下表會描述各個窗格的功能。
窗格 | 功能 |
---|---|
查詢 |
顯示 Transact-SQL 查詢文字。使用此窗格,即可撰寫或編輯 Transact-SQL 查詢。 |
結果 |
顯示查詢的結果。若要執行查詢,請以滑鼠右鍵按一下任何窗格,然後按一下 [執行],或是按一下工具列上的 [執行] 按鈕。 |
範例
下列查詢會從 AdventureWorks 資料庫 Contact 資料表傳回姓氏清單。
SELECT LastName FROM Person.Contact
下列查詢會呼叫 AdventureWorks 預存程序 uspgetEmployeeManagers,並傳回識別碼為 1 之員工的命令鏈結。
EXEC uspgetEmployeeManagers '1'
當您按一下工具列上的 [執行] 時,[查詢] 窗格中的命令便會執行,而且結果會顯示在 [結果] 窗格中。
StoredProcedure 命令類型
當您選取 [StoredProcedure] 命令類型時,一般查詢設計師會提供兩個窗格:[查詢] 窗格和 [結果] 窗格。從下拉式清單中選取一個預存程序,便會將它貼到 [查詢] 窗格中。您可以在這個窗格中輸入參數值。
範例
下列查詢會呼叫 AdventureWorks 預存程序 uspgetEmployeeManagers,並傳回識別碼為 1 之員工的命令鏈結。
uspgetEmployeeManagers '1'
TableDirect 命令類型
當您選取 [TableDirect] 命令類型時,一般查詢設計師會提供兩個窗格:[查詢] 窗格和 [結果] 窗格。如果選取資料表並按一下 [執行] 按鈕,便會傳回該資料表的所有資料行。
範例
下列查詢會傳回 AdventureWorks 資料庫中所有客戶的結果集。當您從下拉式清單中選取 Customers 資料表名稱時,就等於是建立了 Transact-SQL 查詢 SELECT * FROM Customers
。下列文字會貼到 [查詢] 窗格中。
Customers
請參閱
其他資源
Reporting Services 中的查詢設計工具
定義報表資料集
定義 SQL Server 關聯式資料庫的報表資料集
定義其他資料來源的報表資料集
安裝 AdventureWorks 範例資料庫和範例