我必须要数据库,其中一个数据库在我的服务器上,另一个在另一个服务器上,我刚刚读取了访问权限,只需从表中选择数据。
现在我做了两个视图,第一个视图来自我的数据库,它的名字是"qryTransmittals_Lines_with_CT_CS“
第二个视图从其他服务器和其他数据库is (qryTqLines)获取它的数据。
现在,我想合并来自这两个查询的所有数据,但是我得到了错误:
Cannot resolve collation conflict between "SQL_Latin1_General_CP1_CI_AS"
and "Arabic_100_CI_AS_KS_WS" in UNION ALL operator occurring in SELECT
statement column 8.
SELECT qryTqLines.*
FROM qryTqLines
UNION ALL
SELECT qryTransmittals_Lines_with_CT_CS.*
FROM qryTransmittals_Lines_with_CT_CS;我在服务器is (SQL_Latin1_General_CP1_CI_AS)中检查了我的表的排序规则,关于另一个表,我没有权限修改表的设计。
请帮我解决我的问题。
发布于 2017-11-04 12:45:54
因为我被提供了链接,OP解决了他的问题,所以从提供的链接中为未来的读者发布一些代码。
必须用相同的排序规则制作两列,这样我们才能进行比较。1a.在这里,我们将search.cat_id的排序规则更改为从Latin1_General_CI_AS整理SQL_Latin1_General_CP1_CI_AS
SELECT search.*
FROM categories INNER JOIN search
ON categories.cid = search.cat_id collate SQL_Latin1_General_CP1_CI_AS或1b.在这里,我们将categories.cid的排序规则从collate SQL_Latin1_General_CP1_CI_AS转换为Latin1_General_CI_AS
SELECT search.*
FROM categories INNER JOIN search
ON categories.cid collate Latin1_General_CI_AS = search.cat_id参考链接
http://www.ashishblog.com/how-to-resolve-the-collation-conflict-and-how-to-check-collate-in-sql-server/
https://stackoverflow.com/questions/47108388
复制相似问题