你能帮我知道我的sql中可能出现的错误吗?ORA-00936:我错过了表达错误,但我找不到错误。
select p.nompr
from produit p
where p.idpr=(select o.idpr
from objet o,enchere e
where o.idobj=e.idobj
group by o.idpr
having(count(*)=select Max(count (o1.idpr))
from objet o1,enchere e1
where o1.idobj=e1.idobj
group by o1.idpr) );
答案 0 :(得分:2)
我重建了你的查询。我相信你在这里想要达到的目标是获得最多出现次数/数量的p.nompr:
select p.nompr
from produit p
where p.idpr in(
select idpr_alias from (SELECT count (o1.idpr) CNT, o1.idpr idpr_alias
from objet o1,enchere e1
where o1.idobj=e1.idobj
group by o1.idpr)
where CNT=(select max(count(o1.idpr)) from objet o1,enchere e1
where o1.idobj=e1.idobj
group by o1.idpr))
答案 1 :(得分:-1)
这是片段吗?
select Max(count (o1.idpr))
from objet o1,enchere e1
where o1.idobj=e1.idobj
group by o1.idpr
独自运行?我怀疑你不能像这样一起使用max()
和count()
。