2017-11-21 9 views
0

単純なクエリでora-00094(識別子が無効)が表示されますが、その理由はわかりません。私を手伝ってくれますか?共用体のエイリアス表はすべて動作しません

select columnA, 'More than 4000 bytes' 
from tableA 

union all 

select p.columnB, listagg(p.columnC, ',') within group (order by p.columnC) 
from (   
    select distinct b.job_name, a.hostname 
    from tableB a, emuser.def_job b 
) p 
group by p.columnB 
order by p.columnB desc; 

答えて

1

ORDER BYはクエリ全体の結果セット用です。 ORDER BYの場合は、ここには列Bはありません。 ResultSetには最初のクエリの列名のみがあります。

この

SELECT columnA, 'More than 4000 bytes' as columnC FROM tableA 
UNION ALL 
    SELECT p.columnB, LISTAGG (p.columnC, ',') WITHIN GROUP (ORDER BY p.columnC) 
    FROM (SELECT DISTINCT b.job_name, a.hostname 
      FROM tableB a, emuser.def_job b) p 
GROUP BY p.columnB 
ORDER BY p.columnA DESC; 
をお試しください
関連する問題