错误ORA-01427:单行子查询返回多行

时间:2015-11-15 07:38:42

标签: sql oracle

获取错误:

ERROR ORA-01427: single-row subquery returns more than one row

这是代码:

   select (select visano from employees where empno=empno) National_ID,basicsl Basic_sal,govt_cont GOV_CONT,pensnd Emp_PAID_CONT, (select max(to_date(pstyymm,'yyyymm')) from pen_ded where seril=seril) max ,(select min(to_date(pstyymm,'yyyymm')) from pen_ded where seril=seril) min,
    hsealwn H_ALWN,elcalwn E_ALWN,wtralwn WTR_ALWN 
    from pen_ded 

1 个答案:

答案 0 :(得分:0)

此查询在多个地方存在缺陷。 1)从员工中选择visano应该作为联接执行,而不是作为查询列执行。是否有专栏将pen_ded与员工联系起来? 2)应使用分析函数查询min和max列,如下所示 - Min(salary)Over(order by seril)min。

除此之外,你写下的所有where子句都没有意义。我建议通过SQL教程来更好地理解编写查询的基本准则。