今天在给客户解决一个问题的时候,需要联合两个数据库的两个表进行查询,出现了468的错误。当然两个数据库中的两个表的字段数据类型相同。

selectuserTab.namefromdbName1.dbo.t1asuserTabwherenotexists(select*fromdbName2.dbo.t2asbUserwhereuserTab.columnName1=bUser.columnName2collateChinese_PRC_CI_AS),
columnName1和columnName2的数据类型相同。

开始没有写collateChinese_PRC_CI_AS,出现了468.

补充:

[Err]42000-[SQLServer]无法解决equalto操作中"Chinese_PRC_CI_AS"和"Chinese_PRC_CS_AS"之间的排序规则冲突。

出现这种错误的原因是使用了临时表,临时表的排序规则不同,只要在每个where语句后追加collateChinese_PRC_CI_AI_WS即可。