【DM版本】:DM Database Server 64 v8 DB version:0x7000c
【操作系统】:Linux version 4.19.90-24.4.v2101.ky10.aarch64
【CPU】:aarch64 kunpeng-920
【问题描述】*:表2是表1的备份表,通过create table table1_copy as select * from table1创建而来。问题为执行union时报错:未定义的列名field1,这是为什么呢?目前无法更改脚本,想着是不是哪里配置有问题?通过更改配置修正。因为相同场景在dm版本一致,但小版本序列号不一样的达梦数据库(cpu、操作系统不一样)中执行是正常的。也尝试过将table1_copy换成table1,语句也就正常了。
语句如下:
select field1, field2, field3 from table1
union
select field1, field2, field3 from table1_copy
order by field1, field2 asc, field3;
报错的达梦数据库版本为:
可正常执行的达梦数据库版本为:
你可以把你的小版本号发来看看;
另外可以把copy表添加别名,order by 后的字段前都加上别名绕过。