SQL Update with Multiple Rows: Handling Query Conditions in EMR
To handle the case where the query condition returns multiple rows, you can use the 'IN' operator instead of the '=' operator. Here's an updated version of your query:
UPDATE emr.patient_in_hospital
SET birthday = (
SELECT ic.DATE_OF_BIRTH
FROM emr.patient_in_hospital pi
LEFT JOIN idr.inpatient_cert ic ON pi.inpat_num = ic.inpat_num
WHERE pi.birthday IS NULL
)
WHERE inpat_num IN (
SELECT ic.inpat_num
FROM emr.patient_in_hospital pi
LEFT JOIN idr.inpatient_cert ic ON pi.inpat_num = ic.inpat_num
WHERE pi.birthday IS NULL
)
By using the 'IN' operator, the query will update all rows where the 'inpat_num' value is present in the subquery's result set.
原文地址: https://www.cveoy.top/t/topic/pmvP 著作权归作者所有。请勿转载和采集!