我有一个查询,它使用子查询获取结果。我正在尝试使用group by获取其中一个列的不同值,并且我正在收到错误
ORA-01791: not a SELECTed expression
我的SQL查询看起来像
select distinct myCol from (
select dbCol as myCol from someTable where <someCondition>
unionall
<some other sql>
) group by myCol;
有什么建议吗?
答案 0 :(得分:1)
修复unionall
后,您的查询应该没问题。我会把它写成:
select myCol
from ((select dbCol as myCol
from someTable
where <someCondition>
) union all
(<some other sql>)
) t
group by myCol;
请注意,distinct
group by
不需要select
。如果您的group by
只有一列,则其中一种情况可以正常。 {{1}}具有更多功能。