sql - 无法解决 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
预期结果应通过纠正相关性来解决此错误
解决方案
你把整理放在错误的地方。你应该把它放在equals子句中的列名之后
left join ns.dw_item_location dil on dil.znumber collate database_default = IR.ItemNo
您会注意到我使用了 database_default 意思是“无论当前数据库使用什么”,如果您在“这个”数据库和“另一个”数据库之间存在冲突,这通常会更简单。
推荐阅读
- python - 范围问题:函数中的变量不能用作其他函数的参数?
- bash - MacOS shell脚本基于标签移动文件
- python - 在 Google Colab 中排列表单字段
- angular - 计算输入的 Angular ExpressionChanged 错误
- c# - 无法通过 OnMapReady 方法访问我的地图
- mysql - 如何获取在 MySQL 存储过程中报告的每天注册的额外小时数
- apache-kafka - --from-beginning 参数在 kafka-console-consumer.sh 中不起作用,但 --offset 0 --partition 0 起作用
- python - 如何使用数组更正此循环
- node.js - 全局变量在节点中更改后不保留值
- php - MVC 模式 - 在 URL 中仅显示控制器名称(隐藏 index.php 和操作)