关于sql 语句的错误

在查询管理器里面运行如下代码

select PlanID ,CorpID from TR_Corp2Plan 
union select PlanID ,DeptInstantID from TR_Dept2Plan 
union select PlanID,PosInstID from  TR_PosInst2Plan
union select PlanID,UID  from TR_Employee2Plan

所有表的字段都是NVARCHAR() 类型

提示我

Msg 468, Level 16, State 9, Line 1
无法解决 UNION 运算中 "Latin1_General_CI_AI" 和 "Chinese_PRC_CI_AS" 之间的排序规则冲突。


一只斗牛犬
浏览 502回答 1
1回答

泛舟湖上清波郎朗

这里有个例子:SELECT * FROM test_oneUNIONSELECT * FROM test_two 消息 468,级别 16,状态 9,服务器 ZQWANG\SQLEXPRESS,第 1 行 无法解决 UNION 运算中 "Chinese_Taiwan_Stroke_CI_AS" 和 "Latin1_General_CI_AS" 之间的排序规则冲突。   冲突的解决 针对有冲突的 列,  指定相同的排序规则.SELECT  name COLLATE Chinese_Taiwan_Stroke_CI_AS AS name, val FROM test_one  UNIONSELECT  name COLLATE Chinese_Taiwan_Stroke_CI_AS AS name, val FROM test_two你对应更改一下,强制指定排序规则就OK了
打开App,查看更多内容
随时随地看视频慕课网APP