我需要数据库中的一个数据库在我的服务器中,另一个在另一个服务器中,我刚刚读取它的权限,只能从表中选择数据。
现在我已经制作了2个视图,第一个视图来自我的数据库,它的名字是“qryTransmittals_Lines_with_CT_CS”
和第二个视图获取它,来自其他服务器和其他数据库的s数据是(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;
我检查了我的服务器中的表的排序规则是(SQL_Latin1_General_CP1_CI_AS)和另一个表,我没有权限修改表的设计。
请帮助我解决问题。
答案 0 :(得分:0)
正如我提供的链接和OP解决了他的问题,所以从未来读者提供的链接发布一些代码
必须使两个列具有相同的Collate,以便我们进行比较。 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
OR 1B。这里我们从collate SQL_Latin1_General_CP1_CI_AS
将categories.cid的collate更改为Latin1_General_CI_ASSELECT search.*
FROM categories INNER JOIN search
ON categories.cid collate Latin1_General_CI_AS = search.cat_id
参考链接