#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 и опубликуйте результаты, если вам все еще нужна помощь