0

假設我有一個使用SQL Server作爲數據庫的Web應用程序。取決於相同主鍵的多個外鍵

我已經有包含來自其它表相同的值2個外鍵一個表,

Sections

IDdepartment, IDstore, codTax, accountSell, accountTax, status, m1, m2 

-> PK (IDdepartment, IDstore, codTax) 
FK (accountSell, accountTax) on AccountPlan (accounCompany) 

AccountPlan

AccountCod, account, description, account_desc, accountCompany, type, mov) 

-> PK (accountCompany) 

accountSellaccountTax取決於accountCompany 。兩者都可以包含accountCompany中的所有可用值。

當我在做一個查詢時,我想知道那個accountCompany的描述,怎麼做到這一點?

其實我使用兩個重複的數據表,我認爲有可能只有一個表做同樣的事情。希望可以做到。

謝謝...

回答

0

老實說,我希望你不會真的有複製數據的兩個表。目前有兩個FKS指向相同的表沒問題:

create table Section 
(
    accountSell int not null foreign key references AccountPlan(accountCompany), 
    accountTax int not null foreign key references AccountPlan(accountCompany) 
) 

您可以通過連接到同一兩次獲得描述:

select 
    sell.description as accountSell_description, 
    tax.description as accountTax_description 
from 
    Section s 
    inner join AccountPlan sell on sell.accountCompany = s.accountSell 
    inner join AccountPlan tax on tax.accountCompany = s.accountTax 
+0

前,所有... 謝謝您幫助......非常重要的是,我應該完成數據庫正常化的所有理論步驟......因爲一開始我缺乏時間,所以我不得不做出一些「錘鍊」,直到現在纔出現這些問題! !這是人生的一課... – user3414753