From: "黄高峰"
> UPDATE
> NGLDENHDT
> SET
> EDT_HUK_FLG = :EDT_HUK_FLG
> WHERE
> KAI_CDE = :KAI_CDE
> AND EDT_NUM = (SELECT MAX(EDT_NUM)
> FROM NGLDENHDT
> WHERE KAI_CDE = :KAI_CDE_T1
> AND EDT_NUM != '9999');
>
> the error message was:
>
> You can't specify target table 'NGLDENHDT' for update in FROM
For a small table you could use:
UPDATE
NGLDENHDT
SET
EDT_HUK_FLG = :EDT_HUK_FLG
WHERE
KAI_CDE = :KAI_CDE
AND EDT_NUM != '9999')
ORDER BY
EDT_NUM DESC
LIMIT 1;
This would sort the table on EDT_NUM with the biggest number first and then
only update a single record.
Regards, Jigal.
--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]