Ошибка: групповая функция не разрешена - PullRequest
0 голосов
/ 03 июня 2018
select shipment_stop_d.shipment_gid,count(s_ship_unit_line.s_ship_unit_gid) 
from s_ship_unit_line,shipment_stop_d 
where shipment_stop_d.shipment_gid is not null 
and count(s_ship_unit_line.s_ship_unit_gid) > 200 
group by s_ship_unit_line.s_ship_unit_gid;

условие, которое мне нужно, это количество {(s_ship_unit_line.s_ship_unit_gid)}, чье количество больше 200 в таблице s_ship_unit_line для shipment_gid в таблице shipment_stop_d

1 Ответ

0 голосов
/ 03 июня 2018

У вас есть count(s_ship_unit_line.s_ship_unit_gid) > 200 в предложении where, это нарушение правила.

count - это групповая функция, которая может быть разрешена в списке select или в с предложением.

Используйте вместо

select d.shipment_gid,count(l.s_ship_unit_gid) 
  from s_ship_unit_line l join shipment_stop_d d 
    on ( d.id = l.shipment_id ) -- I assumed this columns for joining condition.
 where d.shipment_gid is not null 
 group by l.s_ship_unit_gid
having count(l.s_ship_unit_gid) > 200;

.

...