Oracle 选择query returned resultSet,但在创建视图时使用相同的查询获取ORA-00957

Oracle 选择query returned resultSet,但在创建视图时使用相同的查询获取ORA-00957,oracle,oracle11g,Oracle,Oracle11g,我是SQL世界的新手,我觉得这个问题很烦人。在我的工作场所,我被要求从Crystal reports中使用的工作查询创建一个视图。当我执行查询时,我确实得到了resultSet,但是当我尝试使用完全相同的查询创建视图时,我得到了ORA-00957错误,这意味着我得到了重复的列名。查询是巨大的,开始制作alias是一场噩梦,是否有可能找到解决此问题的其他解决方案。 任何帮助都将不胜感激,谢谢 如果不想修改查询本身,可以将别名定义为视图定义的一部分: 如果您试图直接将其转换为视图,您会看到错误: c

我是SQL世界的新手,我觉得这个问题很烦人。在我的工作场所,我被要求从Crystal reports中使用的工作查询创建一个视图。当我执行查询时,我确实得到了resultSet,但是当我尝试使用完全相同的查询创建视图时,我得到了ORA-00957错误,这意味着我得到了重复的列名。查询是巨大的,开始制作alias是一场噩梦,是否有可能找到解决此问题的其他解决方案。
任何帮助都将不胜感激,谢谢

如果不想修改查询本身,可以将别名定义为视图定义的一部分:

如果您试图直接将其转换为视图,您会看到错误:

create view v as
select dummy, dummy from dual;

Error report -
ORA-00957: duplicate column name
如果在视图定义中添加别名,而不更改查询,则它将起作用:

create view v (alias1, alias2) as
select dummy, dummy from dual;

View V created.

desc v

Name   Null? Type        
------ ----- ----------- 
ALIAS1       VARCHAR2(1) 
ALIAS2       VARCHAR2(1) 

select * from v;

ALIAS1 ALIAS2
------ ------
X      X     

请显示您的代码您必须别名至少重复列名;或者,如果它们保持相同的值,则消除重复项。您可以在
create view
中执行此操作,而无需修改查询。我真的不明白,select返回结果集和create视图是如何显示错误的???听起来很有趣,我会尝试一下,谢谢!
create view v as
select dummy, dummy from dual;

Error report -
ORA-00957: duplicate column name
create view v (alias1, alias2) as
select dummy, dummy from dual;

View V created.

desc v

Name   Null? Type        
------ ----- ----------- 
ALIAS1       VARCHAR2(1) 
ALIAS2       VARCHAR2(1) 

select * from v;

ALIAS1 ALIAS2
------ ------
X      X