Err] 1093 - You can’t specify target table ‘s’ for update in FROM clause
执行SQL语句时出现这个错误。原因是在更新这个表和数据时又查询了它,而查询的数据又做了更新的条件。
####解决方法:
把要更新的几列数据查询出来做为一个第三方表,然后筛选更新。
UPDATE V_INPATIENTS s
SET s.STATUS = “out”
WHERE
s.MRN IN(
SELECT
a.MRN
FROM
(SELECT
MRN ,
ORGAN_CODE ,
SERIES ,
PATIENT_ID
FROM
V_INPATIENTS ) a
GROUP BY
a.MRN ,
a.ORGAN_CODE ,
a.SERIES ,
a.PATIENT_ID
HAVING
count(*) > 1
)