单行子查询返回多行

时间:2013-11-24 10:55:58

标签: sql oracle

创建库存表(salesno,salesname,branch,salesamount)。插入5条记录。

目的是在一个命令中执行此任务! 删除平均salesamount <1000。

的元组

我添加了两个条目,销售额为900&amp; 1000在同一分支下。我必须删除这些。

我试过的命令是

DELETE inventory WHERE (SELECT avg(salesamount) FROM inventory GROUP BY branch) < 1000;

这会返回一条错误,说“单行子查询返回多行”?

如何解决此错误?

这是数据: SQL&GT; SELECT * FROM inventory;

SALESNO SALESNAME  BRANCH  SALESAMOUNT
------- ---------- ------- -----------
     1          A    Sales         900
     2          B    Sales        1000
     3          C       HR        5000
     4          D       HR        6000
     5          E  Finance        8000

1 个答案:

答案 0 :(得分:3)

DELETE FROM inventory WHERE branch IN (SELECT branch FROM inventory GROUP BY branch HAVING AVG(salesamount) < 1000)