2015-10-14 80 views
0

所以我目前有一個名爲主題的表的數據庫,在這是主題的名稱和負責人的全名。更新屬性到外鍵

我只是增加了一個新的表,聯繫信息,其中有一個主鍵EMPLOYEE_ID,和其他屬性,包括employee_fn和employee_ln。

什麼,我基本上是試圖實現,是從作爲全名是一個外鍵引用EMPLOYEE_ID其中名稱相應地對應更新「負責任」屬性。

我無法寫這個SQL和誠實甚至不能制定出如何手動也不與查詢做到這一點。

任何幫助表示讚賞!

感謝

+0

你可以證明你迄今爲止做了什麼嗎? – Japongskie

+1

哪個RDBMS適用於?請添加一個標籤來指定您是使用'mysql','postgresql','sql-server','oracle'還是'db2' - 或者其他的東西。 –

回答

0

從你的問題我的理解是你想有一個負責列主題表FK,並將其指向EMPLOYEE_ID爲FK ..right?

但是這不可能,因爲FK需要在其他表中PK。 Employee_id將是一個整數,並且不能保存全名。

任何具有預期輸出的樣本數據都可以幫助您。

但是,如果您在主題表中有employee_id作爲列,那麼此更新將起作用。

update subject s 
set responsible = (
select employee_fn||employee_ln as fullname,employee_id 
from 
employee 
) e 
where e.employee_id = s.employee_id 

您的主題必須具有employee_id作爲fk和employee_id作爲PK-FK關係的PK。