2017-08-09 62 views
0

我創建級聯柱的圖。的Oracle SQL - 使用上的級聯柱LISTAGG從視圖

我成功地用於各個列LISTAGG,但是當我試圖在LISTAGG使用級聯柱,我接收到錯誤,這是一個無效的標識符。

有沒有辦法在一個LISTAGG格式的要求,message_desc列組合在一起?

我的查詢如下:

select a.ID, 
a.NAME, 
a.YEAR, 
count (a.linenum) as count_missing_docs, 
listagg(a.requirement, ',') within group (order by a.requirement) as "reqs", 
listagg(a.MESSAGE_DESC, '...')within group (order by a.MESSAGE_DESC)as "msgs", 
listagg(a.combo,' ') within group (order by a.combo) as "all_info" 
from 
(SELECT 
rownum "LINENUM", 
FTR.ID, 
FTR.NAME, 
FTR.YEAR, 
FTR.REQUIREMENT, 
FTR.STATUS, 
FTR.STATUS_IND, 
FTR.MESSAGE_DESC, 
FTR.REQUIREMENT||'-'||FTR.MESSAGE_DESC||'...' as "combo" 
from TRACKING_REQUIREMENT FTR 
where FTR.year = '1617' 
and FTR.status = 'R' 
and FTR.satisfied_ind = 'N' 
order by 2 , 1 asc) A 
group by 
a.ID, 
a.NAME, 
a.YEAR 
order by 1 

回答

3

這個問題實際上就是你一直把雙引號的標識符 - 這告訴你要區分大小寫標識甲骨文,但隨後你提到它沒有雙引號,使用不區分大小寫的標識符(其甲骨文似乎內部解釋爲ALL大寫)。

剛剛擺脫所有的雙引號和您的查詢應該正常工作。