当子查询里面加上Chinese_PRC_CI_AS的排序规则后,某些数据却查不出来

代码如下:

 SELECT * from  dbo.VW_msSyInfo_zy  
WHERE syh  collate Chinese_PRC_CI_AS not in 
(select Syh from dbo.msSyInfo_zy)  
and indate >'2015-01-01'  

当没加collate Chinese_PRC_CI_AS的时候会报错

 无法解决 equal to 运算中 "Chinese_PRC_CI_AS" 和 "Chinese_PRC_BIN" 之间的排序规则冲突。

加上collate Chinese_PRC_CI_AS时查出来的数据和实际数据量差之千里

请问各位高手,有没有办法解决此类问题

我这边没有具体实例,可以试试这样:
SELECT * from dbo.VW_msSyInfo_zy

WHERE syh collate Chinese_PRC_CI_AS not in
(select Syh collate Chinese_PRC_CI_AS from dbo.msSyInfo_zy)

and indate >'2015-01-01'

两个数据库字段排序方式不同,要么后台数据库修改,或者尝试楼上说的。不知道有没有其他办法。同问。

两个表的排序规则一定要一致。可以先把其中一个改过来,查询完后,再改过去。
修改排序规则:ALTER TABLE tb ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CI_AS