исключение java.sql.SQLSyntaxErrorException: ORA-01747: недопустимый пользователь.таблица.столбец, таблица.столбец или спецификация столбца

#oracle

#Oracle

Вопрос:

 UPDATE TMP_OP_USPORTCALLS_RPT 
SET CARGO_QTY =  ( 
    SELECT A.CARGO_QUANTITY FROM ( 
        SELECT CASE WHEN (SUM(NVL(QUANTITY,0))) > 0 THEN ROUND(SUM(NVL(QUANTITY,0))) END AS CARGO_QUANTITY 
        FROM OP_POSITION_CARGO 
        WHERE COMPANY_ID = 2 
        AND SHIP_ID = '380' 
        AND COMMODITY_ID = 816 
        AND KEY_POSITION = (
            SELECT KEY_POSITION 
            FROM OP_POSITION_DETAILS 
            WHERE COMPANY_ID = 2 AND SHIP_ID = '380' AND VOYAGE_NO = 152 
            AND KEY_POSITION = 800892 
            AND EVENT_ID = ( 
                SELECT EVENT_ID    
                FROM MA_EVENT 
                WHERE COMPANY_ID = 2 AND UPPER(EVENT_NAME) LIKE 'LOAD%'
            ) 
        ) 
        GROUP BY KEY_POSITION, COMMODITY_ID,UNIT_CODE 
    ) A) 
WHERE COMPANY_ID = 2 AND SHIP_ID = '380' AND VOYAGE_NO = 152 
AND KEY_POSITION = 800892 AND COMMODITY_ID = 816 AND QUERY_ID = '1476272548543'
  

Это мой запрос, кто-нибудь может сказать, где я допустил ошибку

Комментарии:

1. Одно из ваших имен столбцов неверно. Невозможно определить, не увидев схемы всех таблиц.

2. Я дважды проверил свою таблицу, только правильное имя столбца. Есть ли что-нибудь еще, кроме имени столбца, чтобы вызвать эту ошибку.

3. Я не использую Oracle, но сообщение об ошибке кажется очень ясным, что это проблема с именем столбца. Есть ли еще какая-либо ошибка, указывающая, в какой таблице и столбце содержится ошибка?

4. У вас действительно есть все эти столбцы в обеих таблицах TMP_OP_USPORTCALLS_RPT и OP_POSITION_DETAILS ?

5. пожалуйста, выполните desc TMP_OP_USPORTCALLS_RPT; desc OP_POSITION_CARGO; desc OP_POSITION_DETAILS; desc MA_EVENT и опубликуйте результаты, если вам все еще нужна помощь