繁体   English   中英

在事实表中插入几个外键

[英]Inserting several foreign keys in Fact Table

我尝试分配一个名为FactTable的表的外键。 您可以查看表格的外观以及包含的数据类型。

在此处输入图像描述

在这个表上,我已经为另一个名为[DIMENSION].[HS]的表分配了外键。 为此,我使用了这行代码

ALTER TABLE FACT.FactTable
    ADD FOREIGN KEY (TenDigits) REFERENCES [DIMENSION].[HS](TenDigits)

到目前为止,一切都很好。 但是当我尝试将此表与另一个名为[DIMENSION].Countries的表连接时,就会出现问题。 你可以看到这张桌子的样子

在此处输入图像描述

在这里,我尝试使用类似于上面的代码的代码连接这两个表

ALTER TABLE FACT.FactTable
ADD FOREIGN KEY (CountryCodes) 
    REFERENCES [DIMENSION].[Countries] (CountryCodes)

我收到此错误:

消息 547,第 16 级,State 0,第 238 行
ALTER TABLE 语句与 FOREIGN KEY 约束“FK__FactTable__Count__1940BAED”冲突。 冲突发生在数据库“CustomsDataDW”、表“DIMENSION.Countries”、列“CountryCodes”中。

谁能帮我解决这个问题并在FACT.FactTable中再添加一个外键?

另外在这里我想提一下,我可以用这行代码用普通的join命令连接这个表

SELECT *
FROM FACT.FactTable as fa
INNER JOIN [DIMENSION].Countries AS co ON co.CountryCodes=fa.CountryCodes

我要提一下,我可以用普通的join命令用这行代码连接这个表

INNER JOIN只显示匹配的行。 缺失值可以通过以下方式识别:

SELECT DISTINCT fa.CountryCodes
FROM FACT.FactTable as fa
LEFT JOIN [DIMENSION].Countries AS co ON co.CountryCodes=fa.CountryCodes
WHERE co.CountyCodes IS NULL;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM