Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server:连接来自两个不同数据库的两个表时出错_Sql_Sql Server_Join - Fatal编程技术网

SQL Server:连接来自两个不同数据库的两个表时出错

SQL Server:连接来自两个不同数据库的两个表时出错,sql,sql-server,join,Sql,Sql Server,Join,我正在使用SSMS,我正在尝试连接来自两个不同数据库的两个表,这两个数据库都位于同一服务器中 这两个表有一个公共id列 我的问题是: select * from db1.dbo.EPH e join db2.dbo.SALARIE s on e.id = s.id 我得到了这个错误: 无法解决“Latin1_General_CI_AI”和“French_CI_AS”之间的排序冲突,操作等于 您的两个数据库没有相同的排序规则。您需要在join中指定“collatedatabase\u DEF

我正在使用SSMS,我正在尝试连接来自两个不同数据库的两个表,这两个数据库都位于同一服务器中

这两个表有一个公共
id

我的问题是:

select * 
from db1.dbo.EPH e 
join db2.dbo.SALARIE s on e.id = s.id
我得到了这个错误:

无法解决“Latin1_General_CI_AI”和“French_CI_AS”之间的排序冲突,操作等于


您的两个数据库没有相同的排序规则。您需要在join中指定“collatedatabase\u DEFAULT”子句

select * from db1.dbo.EPH e join db2.dbo.SALARIE s on e.id COLLATE DATABASE_DEFAULT=s.id COLLATE DATABASE_DEFAULT

在Microsoft SQL Server中,可以在列级别设置排序规则。比较(或连接)查询中具有不同排序规则的两列时

例如:

SELECT * FROM db1.dbo.EPH e
JOIN db2.dbo.SALARIE s
ON e.id COLLATE DATABASE_DEFAULT = s.id

尝试使用COLLATE Latin1\u General\u CI\u作为

select * 
from db1.dbo.EPH e 
join db2.dbo.SALARIE s on
e.id COLLATE Latin1_General_CI_AS = s.id
COLLATE Latin1_General_CI_AS

您的表定义不一致。您必须决定在比较列时使用哪种排序规则。这是否回答了您的问题?是的,很有效,谢谢