如何纠正子查询sql中太多值

问题描述 投票:0回答:1
UPDATE PRE_LB 
SET PR_NPR='PR' 
WHERE CIFNO IN (
  SELECT CIFNO,SUM(LIMIT) 
  FROM PRE_LB 
  WHERE LTWPB IN ('SE','ED') 
  GROUP BY CIFNO 
  HAVING SUM(LIMIT)<=2000000
) AND LTWPB IN ('SE','ED');

SQL 错误:ORA-00913:值太多

如何在不使用视图的情况下进行纠正

oracle plsql oracle11g plsqldeveloper
1个回答
0
投票

IN 运算符期望从一列获取数据,从子查询中删除

sum()
:

UPDATE PRE_LB 
SET PR_NPR='PR' 
WHERE CIFNO IN (
      SELECT CIFNO
      FROM PRE_LB 
      WHERE LTWPB IN ('SE','ED') 
      GROUP BY CIFNO 
      HAVING SUM(LIMIT)<=2000000
) AND LTWPB IN ('SE','ED');
© www.soinside.com 2019 - 2024. All rights reserved.