【发布时间】:2015-12-21 19:22:05
【问题描述】:
所以我有以下导致错误的示例查询(对于那些对其感兴趣的人:ORA-00904:“BLEH”:无效标识符)
select bleh from (
SELECT MIN(mtb.id) KEEP (DENSE_RANK FIRST ORDER BY mtb.id) "bleh"
FROM mytable mtb
WHERE mtb.filtered_field_one = 0
and mtb.filtered_field_two = 0
GROUP BY mtb.foreighn_id, mtb.id
);
如果我把它改成(注意我用*替换了bleh):
select * from (
SELECT MIN(mtb.id) KEEP (DENSE_RANK FIRST ORDER BY mtb.id) "bleh"
FROM mytable mtb
WHERE mtb.filtered_field_one = 0
and mtb.filtered_field_two = 0
GROUP BY mtb.foreighn_id, mtb.id
);
我收到的结果与我对第一个查询的预期完全一样,它看起来像 1 个名为 bleh 的列,具有正确的值。
那么为什么我不能按该列的名称(别名)选择?
【问题讨论】: