我看了很多类似的帖子,但还是找不到类似的案例,或者我太初级,根本不懂问题中的命令。
我写的命令,但返回 ORA-00933: SQL command not properly ended
:
(select product.productid, productname, productprice
from product, soldvia
where product.productid = soldvia.productid
group by product.productid, product.productname, product.productprice
having sum(soldvia.noofitems) > 3 )
except
(select product.productid, productname, productprice
from product, soldvia
where product.productid = soldvia.productid
group by product.productid, product.productname, product.productprice
having count(soldvia.tid) > 1);
当我运行单个select命令时,它们运行良好并返回预期结果。
编辑:我在学习 EXCEPT
因此,使用这个命令,我必须使用这个命令来完成任务。任务是:
检索每个产品的产品id、产品名称和产品价格,这些产品在所有销售事务中销售了三个以上的项目,但其项目在多个销售事务中未销售
1条答案
按热度按时间6rqinv9w1#
except
在甲骨文里不是一个东西;等价的关键字是minus
:如果您更改关键字,您的查询应该可以正常工作。另一方面,两个查询是完全相同的,所以您可以合并
having
条款:笔记:
始终使用标准的显式联接(与
on
关键字)而不是老式的隐式连接(在from
子句):新代码中不应使用此旧语法表别名使查询更易于编写和读取
在多表查询中,总是用列名所属的表限定所有列名,这样查询就不含糊且更容易理解