[SQL Server]无法解决 equal to 运算中 "SQL_Latin1_General_CP1_CI_AS" 和 "Chinese_PRC_CI_AS" 之间的排序规则冲突。

 

错误信息:

[SQL Server]无法解决 equal to 运算中 “SQL_Latin1_General_CP1_CI_AS” 和 “Chinese_PRC_CI_AS” 之间的排序规则冲突。

场景:

一个简单的SQL语句,因为团队合作建表时排序方式不同,两个字段无法比较

  select mca.* ,mo.Name
  from MemberCA mca
  left join MOrganization mo on mca.OID = mo.Id

解决:

使用COLLATE改变其中一个字段的排序方式

  select mca.* ,mo.Name
  from MemberCardApply mca
  left join Mall_Organization mo on mca.OrganizationID COLLATE Chinese_PRC_CI_AS = mo.Id