首页 > 解决方案 > SQL 错误:ORA-00936:缺少表达式 00936。00000 -“缺少表达式” *原因:*操作:

问题描述

我正在尝试编写一个更新语句,将下多个订单的客户的密码更改为优秀,其中包含所有小写字符:

UPDATE customers_mgs
SET password = 'excellent'
WHERE customer_id = SELECT customer_id FROM customers_mgs WHERE count(>1 group by customer_id)

但我不断收到此错误消息:错误报告 - SQL 错误:ORA-00936:缺少表达式 00936。00000 -“缺少表达式”

标签: sqloracleupdate-statement

解决方案


您需要围绕子查询的括号。据推测,您还想要IN而不是=

UPDATE customers_mgs
    SET password = 'excellent'
    WHERE customer_id IN (SELECT customer_id
                          FROM customers_mgs 
                          GROUP BY customer_id
                          HAVING COUNT(*) > 1
                         );

推荐阅读