Кажется, что DWH_F_MP_MESSAGE_VW
не содержит столбец с именем MESSAGE_BODY
.
Вот демонстрация:
SQL> create table dwh_f_mp_message_vw (commercial_id number, message_body clob);
Table created.
SQL> insert into dwh_f_mp_message_vw values (1, 'Littlefoot');
1 row created.
SQL> select commercial_id, min(dbms_lob.substr(message_body, 3999, 1))
2 from dwh_f_mp_message_vw
3 group by commercial_id;
COMMERCIAL_ID
-------------
MIN(DBMS_LOB.SUBSTR(MESSAGE_BODY,3999,1))
--------------------------------------------------------------------------------
1
Littlefoot
SQL> select commercial_id, min(dbms_lob.substr(message_bodyyyyyy, 3999, 1))
2 from dwh_f_mp_message_vw
3 group by commercial_id;
select commercial_id, min(dbms_lob.substr(message_bodyyyyyy, 3999, 1))
*
ERROR at line 1:
ORA-00904: "MESSAGE_BODYYYYYY": invalid identifier
SQL>
Я предлагаю вам запустить это:
SQL> desc dwh_f_mp_message_vw
Name Null? Type
----------------------------------------- -------- ----------------
COMMERCIAL_ID NUMBER
MESSAGE_BODY CLOB
и опубликуйте результат здесь (если вы не выясните это; в таком случае, пожалуйста, объясните, что пошло не так).Возможный виновник - столбец, созданный в двойных кавычках, например
SQL> drop table dwh_f_mp_message_vw;
Table dropped.
SQL> create table dwh_f_mp_message_vw (commercial_id number, "message_body" clob);
Table created.
SQL> insert into dwh_f_mp_message_vw (commercial_id, message_body) values (1, 'Littlefoot');
insert into dwh_f_mp_message_vw (commercial_id, message_body) values (1, 'Littlefoot')
*
ERROR at line 1:
ORA-00904: "MESSAGE_BODY": invalid identifier
SQL> insert into dwh_f_mp_message_vw (commercial_id, "message_body") values (1, 'Littlefoot');
1 row created.
SQL> desc dwh_f_mp_message_vw
Name Null? Type
----------------------------------------- -------- -------------------
COMMERCIAL_ID NUMBER
message_body CLOB
SQL>
Если это так, избавьтесь от двойных кавычек.