我们假设我有一个使用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)
accountSell
和accountTax
取决于accountCompany
。两者都可以包含accountCompany
中的所有可用值。
当我进行查询时,我想知道accountCompany
的描述,如何完成此操作?
实际上我使用了两个带有重复数据的表,我认为只有一个表可以做同样的事情。希望这是可能的。
...谢谢
答案 0 :(得分:0)
老实说,我希望你没有真正有两张重复数据的表格。两个FK指向同一个表是没有问题的:
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