2012-12-20 68 views
1

我有幾張表,我需要將主鍵爲patient_id的表患者的患者卡ID(PID)與其他表的PID字段鏈接......如何我可以這樣做嗎?幫幫我!如何在SQL Server中創建兩個非主鍵實體之間的關係

+1

爲什麼被標記的問題與'C#'?從我正在閱讀的內容來看,這是一個簡單的sql問題。 – DHN

+0

[我希望這可以幫助你] [1] [1]:http://stackoverflow.com/a/12895999/1918376 stackoverflow.com/a/12895999/1918376 –

回答

0

你可以加入他們像

SELECT * 
FROM [Patient] p 
INNER JOIN [OtherTable] ot 
    ON p.pid = ot.patient_id; 
+0

它說:「無效的對象名稱't​​bl_patient'」...實際上我的表名稱是tbl_patient,正如您所說我寫道。SELECT * FROM [tbl_patient] p –

+0

'無效的對象名稱'不是SQL錯誤。 ..只需打開[LINQPad](http://www.linqpad.net/)或[SQL Management Studio](http://www.microsoft.com/en-us/download/details.aspx?id=8961)連接到您的數據庫並在將其提交給您的開發人員代碼之前進行查詢。 – balexandre

0

您可以使用外鍵

CREATE TABLE T 
(
    any_primary_key INT PRIMARY KEY, 
    [other attributes], 
    patient_id,  
    FOREIGN KEY (patiend_id) REFERENCES Patients.patient_id 
) 

如果患者是有其必須被宣佈爲uniquepatient_id的表。

+0

我是否需要聲明patient_id獨特?我只需要將患者表(tbl_patient)的「pid」連接到圖像表(tbl_image)的「pid」...其中「pid」是患者卡號,而patient_id是具有自動增量的主鍵... –

+0

它確實取決於你的模式,我沒有完全得到。具有您想要參考的值的原始表格必須具有該值作爲唯一值。表T中的值(我用作示例)然後只是返回到該唯一值的引用。 T可以有多個包含引用的元組,因爲它有另一個主鍵。我建議你在這裏感嘆一下:https://www.coursera.org/course/db,看看有關鍵的視頻(這是免費的,太棒了!)。 – span

相關問題