簡體   English   中英

使用外鍵從另一個表中獲取價值

[英]Getting Value From Another Table with a Foreign Key

我已經使用C#中的報表向導構建了一個報表,並且可以在ReportViewer中看到我的報表。 我的問題是我有2個相關的表。 第一個表中的列的值是另一個表中的外鍵。 我在該列中看到的只是外鍵。 我想從其他表格中看到相應的值。

如何從第二張表中看到該列的值?

您應該只加入外鍵列:

SELECT
    a.*,b.YourNeededColumnHere
    FROM TableA            a
        INNER JOIN TableB  b ON a.columnX=b.columnX

但是,如果在報表服務中執行此操作時遇到問題,只需創建一個視圖:

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...

聽起來您可能需要深入報告創建基本深入報告

關於呈現結果的控件...是否將其列手動綁定/是否設置為自動綁定?

將查詢更改為涉及相應表中字段的查詢。

SELECT t1.*, t2.value
FROM table1 t1 
   JOIN table2 t2 ON t1.t2id = t2.id

但是,如果不能這樣做,因為數據源是分開的,那么您將需要其他選擇。

假設您有兩個數據集,分別來自不同的數據源。

在報表中放置一個表格,以顯示來自DataSet1(或任何它稱為的內容)的信息。 然后將一個矩形代替您的一個文本框,然后在其中放置一個表,並將其附加到DataSet2。 然后在此表上放置一個篩選器,以便它僅顯示來自DataSet2的記錄,這些記錄與DataSet1中的適當值相對應。

或者,等待SQL Server 2008 R2(當前在CTP中),SQL Server 2008 R2為此提供了一個Lookup函數。

從表中將其拖到外鍵而不是其本機位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM