MySQLの正しい構文は次のとおりです。
INSERT INTO XYZ (PARENT_JOB_NAME, CHILD_JOB_NAME, FIRST_EXECUTION, SANDBOX, PLATFORM_NAME)
SELECT ITRR.WORKFLOW_NAME, ITRR.INSTANCE_NAME,
MIN(ITRR.START_TIME), ITRR.SUBJECT_AREA, 'INFORMATICA'
FROM ABC IWRR JOIN
DEF ITRR
ON IWRR.WORKFLOW_RUN_ID = ITRR.WORKFLOW_RUN_ID
WHERE IWRR.USER_NAME IN ('XYZ') AND
ITRR.RUN_STATUS_CODE <> 2
GROUP BY ITRR.WORKFLOW_NAME, ITRR.INSTANCE_NAME, ITRR.SUBJECT_AREA
ON DUPLICATE KEY UPDATE FIRST_EXECUTION = VALUES(FIRST_EXECUTION);
適切で明示的な標準の使用に注意してください 、読み取り可能な JOIN
構文。使用してください。
主な変更点は
です。- 古語構文の修正。
-
select
の場合、括弧を削除する必要はありません。insertに。 。 。選択
(おそらく許可されていますが) - テーブルエイリアスの削除。これは絶対に許可されていません。
- 重複キーの
の修正コード> ステートメント。