2011-03-11 211 views
4

我有一個查詢將返回任意數量的結果集,所有結果集都具有相同的列 - 即一個用於Manager,然後一個Manager負責管理每個員工。返回多個結果集的查詢

在Mgmt Studio中運行SQL工作正常 - 我的'master'和'details'表已成功呈現。但是,如果我只是在SSRS報告嚮導的數據集查詢中輸入相同的SQL,則只會報告第一個結果集。

如何讓我的一個Master +所有Details結果集在一個報表中呈現爲單獨的表格?關鍵是查詢會生成一個任意個結果集。

回答

7

不幸的是,從2008 documentation

...一個結果從關係數據庫中,這可以導致從正在運行的數據庫命令,存儲過程,或用戶定義的函數設定。 如果通過單個查詢檢索多個結果集,則只處理第一個結果集,並忽略所有其他結果集。

因此,我擔心你只能使用更復雜的選項。我建議之一:

  • 返回所有的結果集UNION ALLed成一個大的結果集,用一個額外的列指示哪些經理/員工的結果的每個部分是或
  • 創建「主「報告和附帶代碼,顯示您報告的每位經理/員工的子報告。該子報表將使用您的存儲過程的版本,該版本一次呈現一個人的報告結果。

後者可能是更清潔的方法。

1

您可能想要根據參數分支結果。並允許用戶根據該參數切換結果。