今天在给客户解决一个问题的时候,需要联合两个数据库的两个表进行查询,出现了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即可。
转载于:https://blog.51cto.com/hundage/1292969