如何解决在事实表中插入几个外键
我尝试为名为 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,状态 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;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。