select * from xty_orders a where ORDER_STATUS= '已校對' and PATIENT_ID in
(select PATIENT_ID from xty_orders b where ORDER_STATUS = '已停止' GROUP BY PATIENT_ID HAVING count(PATIENT_ID) > 1)
上面檢索正常,我改成洗掉就報錯,為什么???
delete from xty_orders a where ORDER_STATUS= '已校對' and PATIENT_ID in
(select PATIENT_ID from xty_orders b where ORDER_STATUS = '已停止' GROUP BY PATIENT_ID HAVING count(PATIENT_ID) > 1)
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'a where ORDER_STATUS= '已校對' and PATIENT_ID in
(select PATIENT_ID from xt' at line 1
uj5u.com熱心網友回復:
https://blog.csdn.net/chs_jdmdr/article/details/46708917uj5u.com熱心網友回復:
delete from xty_orders a where ORDER_STATUS= '已校對' and PATIENT_ID in(SELECT PATIENT_ID FROM (select PATIENT_ID from xty_orders b where ORDER_STATUS = '已停止' GROUP BY PATIENT_ID HAVING count(PATIENT_ID) > 1))
uj5u.com熱心網友回復:
MYSQL的DELETE有一個特性,舉例如下:DELETE TABLE_A T1 WHERE T1.ID IN (SELECT T2.ID FROM TABLE_A T2);
這樣直接關聯相同的表洗掉就會報錯,再套一層就好了,例如:
DELETE TABLE_A T1 WHERE T1.ID IN (SELECT ID FROM (SELECT T2.ID FROM TABLE_A T2));
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/57368.html
標籤:MySQL
下一篇:DB2用戶權限問題
