我已經使用C#中的報告嚮導構建了一個報告,並且可以在ReportViewer中看到我的報告。我的問題是我有兩個相關的表。第一個表中的列的值是另一個表上的外鍵。我在該專欄中看到的只是外鍵。我希望看到另一個表中的相應值。使用外鍵獲取來自其他表的值
如何從第二個表中看到列的值?
我已經使用C#中的報告嚮導構建了一個報告,並且可以在ReportViewer中看到我的報告。我的問題是我有兩個相關的表。第一個表中的列的值是另一個表上的外鍵。我在該專欄中看到的只是外鍵。我希望看到另一個表中的相應值。使用外鍵獲取來自其他表的值
如何從第二個表中看到列的值?
將項目從表中拖出來的地方是外鍵,而不是它的本地位置。
聽起來像你可能需要一個深入報表 Create Basic Drilldown Report
我的視覺體育場沒有它,只有報告,嚮導報告和水晶報告,我該怎麼辦? – 2009-08-25 18:30:56
您可以嘗試使用vs bi模板創建報告,然後將rdl文件導入到您的c#項目中。 – DForck42 2009-09-04 19:40:45
關於呈現結果的控制......它有它的列手工綁定/是設置爲自動綁定?
將您的查詢更改爲涉及適當表中的字段的查詢。
SELECT t1.*, t2.value
FROM table1 t1
JOIN table2 t2 ON t1.t2id = t2.id
但是,如果你不能,因爲數據源是分開的,那麼你會想要另一個選項。
假設您有兩個來自不同數據源的數據集。
在報表中放置一個表以顯示來自DataSet1(或其它稱爲)的信息。然後將一個矩形放置在您的文本框之一的位置,然後在其中放置一個表,將其附加到DataSet2。然後在此表上放置過濾器,以便它僅顯示DataSet2中與DataSet1中的相應值對應的記錄。
或者,等待SQL Server 2008 R2(當前位於CTP中),它提供了一個用於此目的的查找功能。
羅布
你應該對外國鍵列剛剛加入:
SELECT
a.*,b.YourNeededColumnHere
FROM TableA a
INNER JOIN TableB b ON a.columnX=b.columnX
但是,如果你有在Reporting Services這樣的問題,只需創建一個視圖:
CREATE VIEW CombinedAB
AS
SELECT
a.*,b.YourNeededColumnHere
FROM TableA a
INNER JOIN TableB b ON a.columnX=b.columnX
GO
您現在應該可以運行您的報告CombinedAB視圖爲:
SELECT
*
FROM CombinedAB
WHERE ...your conditions here...
我無法理解它。你編寫的代碼非常混亂。 – 2009-08-29 18:35:06
我這樣做,但我的問題沒有解決。 – 2009-08-23 22:12:11