我的Oracle數據庫IM的遷移越來越以下錯誤後:
ORA-00904: "from$_subquery$_014"."TRN_TERMINAL_SOFTWARE_VERSION": invalid identifier
下面
是我的查詢:
SELECT
*
FROM
(
SELECT
SUM(trn_amt) AS amount,
SUM(trn_count) AS COUNT ,
timetype AS period ,
seq ,
ROW_NUMBER() OVER (ORDER BY vw.seq DESC) AS RowNumber
FROM
YSD_STORE_FORWARD_V vw
INNER JOIN store_dimension std ON vw.stm_id=std.std_id
INNER JOIN card_type_dimension ctd ON vw.CTD_CARD_ABBV=ctd.CTD_CARD_ABBV
INNER JOIN STPLDBTEMP.store_group_relation sgr ON std.STD_ID= sgr.sgr_store_id
INNER JOIN location_dimension ld ON ld.lod_id=std.std_location_id
WHERE
start_date BETWEEN 20170405 AND 20170405
AND std.std_corp_id ='1939'
AND sgr.sgr_sgm_id ='2160'
AND ctd.CTD_CARD_ABBV IN ('VE','VI','VS','VD','AX','AE','MD','MC','MF','XX'
,'DB','JB','NV','DS','EB','EBC','EBF','EBW','VF','VG','WX','DC','GF','PL'
,'PW','NM','BG','GC','FL','FO','FT','FW','INV','IV','IN','CP')
AND LD.LOD_COUNTRY_ID = 1
GROUP BY
timetype ,
seq
ORDER BY
4
);
我沒有在我的查詢中使用列仍然出現此錯誤請幫助我YSD_STORE_FORWARD_V
它的一個視圖使用物化視圖包含TRN_TERMINAL_SOFTWARE_VERSION
列但我的工作很好。
,如果你會發生什麼運行'SELECT * FROM YSD_STORE_FORWARD_V'?這些列是否與您在上述查詢中使用的列匹配? – MT0
幾個問題 - > 1.該對象是否存在:'TRN_TERMINAL_SOFTWARE_VERSION'? (嘗試desc'TRN_TERMINAL_SOFTWARE_VERSION')2.你的用戶(運行上面的查詢)是否具有READ權限? 3.它駐留在相同的模式和相同的數據庫上嗎? – g00dy
刪除冗餘子查詢是否有所作爲?或者至少在外面移動'order by'?執行計劃可能有助於確定Oracle生成的子查詢名稱適用於整個查詢的位置。聽起來像它*可能*是一個解析器錯誤,雖然....這是哪個版本,你從哪個版本遷移,以及如何? –