【发布时间】:2018-09-19 10:55:05
【问题描述】:
我不知道这是否可能,我以这种方式进行了搜索,但很多人只是说这是不可能的。但是,我从互联网上获得了一份数据,用于以复制案例或应用程序的方式进行研究,当然看起来这很可能为不同的数据类型建立关系。我们来看一个例子。
【问题讨论】:
-
您的表格设计不一致。修复那些列定义,问题就消失了。
-
补充什么 jarlh 说的,你是对的,你不能混合关系中两列的数据类型,所以你需要使它们成为相同的数据类型才能工作.
-
同意以上-最有效和正确的方法。以防万一您无法更改设计,则可以在两个字段之间建立一个链接表,每列具有适当的类型。您还可以创建一个视图来为您提供这些结果。您还可以编写一个视图来执行连接并使用它。效率不高或不推荐,但可能,即使对于不相关的类型也是如此。例如。 SELECT * FROM [dbo].[TableA] A 内连接 [dbo].[TableB] B on cast(B.[SomeStringField] as varchar) = cast(A.[SomeIntegerField] as varchar)
-
如果订单的 ID 实际上是 11 或 12 个字符,会发生什么情况?它永远不会有任何细节。
标签: sql sql-server foreign-keys primary-key relationship