首页 > 解决方案 > 无法解决 Join 语句中的排序规则冲突

问题描述

我有以下加入,会吐出这个错误

“无法解决等于操作中“Latin1_General_BIN”和“SQL_Latin1_General_CP1_CI_AS”之间的排序规则冲突。

我尝试通过添加进行编辑:

ns.dw_item_location COLLATE Latin1_General_BIN AS dil

ns.dw_item_location COLLATE SQL_Latin1_General_CP1_CI_AS AS dil

并没有解决这个错误。我也试过

IR.ItemNo COLLATE_Latin1_General_BIN as ItemNo

较早的 SQL 语句,仍然没有解决方案。

left join ns.dw_item_location dil on dil.znumber = IR.ItemNo

预期结果应通过纠正相关性来解决此错误

标签: sqltsql

解决方案


你把整理放在错误的地方。你应该把它放在equals子句中的列名之后

left join ns.dw_item_location dil on dil.znumber collate database_default = IR.ItemNo

您会注意到我使用了 database_default 意思是“无论当前数据库使用什么”,如果您在“这个”数据库和“另一个”数据库之间存在冲突,这通常会更简单。


推荐阅读