2013-11-24 168 views
-2

创建库存表(salesno,salesname,branch,salesamount)。插入5条记录。单行子查询返回多个行

目标是在一个命令中执行这个任务! 删除平均销售额为< 1000元的元组。< 1000.

我在同一分店增加了2个销售额为900 & 1000的条目。我必须将这些删除。

我尝试的命令是

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

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

我该如何解决这个错误?

这里是数据: SQL> 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 
+0

多少分支,你呢? –

+0

3个分支机构。 2个条目在同一分支下。 – user3027056

+0

发布您的select语句的结果:(SELECT avg(salesamount)FROM inventory GROUP BY branch)<1000;这会让我们知道确切的问题 – vamosrafa

回答

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

解决了!谢谢!!! – user3027056

相关问题