视图中含有UNION时出现了问题(200分)

  • 主题发起人 主题发起人 yhaochuan
  • 开始时间 开始时间
Y

yhaochuan

Unregistered / Unconfirmed
GUEST, unregistred user!
CREATE VIEW VI_XPRTSBHNKNBN
AS

SELECT A.CODE, A.KCODE, A.SIYOU, A.LDate, A.Pno, A.THIKBN, A.NOTHI,
B.NAME, B.SNPO, B.ZAIKG, B.HYOMEN, B.SITSURYO
FROM XPRTS A
LEFT JOIN XITEM B ON B.CODE = A.KCODE COLLATE Chinese_PRC_CI_AS

UNION

SELECT C.OYAZBN, C.KOZBN, NULL, C.KSNDATE, C.PNO, C.THIKBN, NULL,
C.KONAME, C.SNPO, C.ZAIKG, C.HYOMEN, C.SITSURYO
FROM BHNKBN C


在中文SQL2000上没有问题。
但在日本版SQL2000上出现说:
服务器: 消息 446,级别 16,状态 9,Procedure VI_XPRTSBHNKNBN 行 4
UNION操作的照全顺序的竟合无法解决

请问这是什么个问题、如何解决?
 
视图中是不能用UNION的,不过有一种方法可以,
你先建一个视图,然后在SQL管理器中,双击此视图进入编辑状态,这时加入UNION就不会报
错,不然是不行的
 
你说的应该是在企业管理器中建立视图时不能用UNION吧
在查询分析器中是可以的,而且
CREATE VIEW帮助手册中有句:
select_statement 可使用多个由 UNION 或 UNION ALL 分隔的 SELECT 语句。
所以视图中是可以用UNION的。
 
企业管理器也可以
先建立一个由简单的Select语句Union起来的视图,保存,然后再改SQL就可以了
 
找到出现问题的原因了,是因为UNION前和后的两个表的排序规则不一样。
一个是按中文排序,另一个是日文排序。
之所以这样是因为建立两个表的SQL脚本一个是在
中文SQL中产生的(在脚本里面带有中文排序规则的设定),
另一个是在日文SQL上手动建立的。
 
结束!!!
 
多人接受答案了。
 
后退
顶部