Я пытаюсь найти самый популярный арендованный автомобиль по заданным данным, а также по количеству дней аренды.
Я написал этот код PL / SQL, чтобы сделать работу
create or replace procedure CarRentalSiteDetail (id IN CarRentalSite.CarRentalSiteId%TYPE) as
rental_name CarRentalSite.CarRentalSiteName%TYPE;
rental_city CarRentalSite.City%TYPE;
num number;
pop number;
c_name Car.CarName%TYPE;
total number;
BEGIN
Select CarRentalSite.CarRentalSiteName into rental_name from CarRentalSite where CarRentalSiteId = id;
Select CarRentalSite.City into rental_city from CarRentalSite where CarRentalSiteId = id;
Select count(Rentals.CarRentalSiteId) into num from CarRentalSite INNER JOIN Rentals ON CarRentalSite.CarRentalSiteId = Rentals.CarRentalSiteId where CarRentalSite.CarRentalSiteId = id Group by CarRentalSite.CarRentalSiteId;
Select CarId into pop from (Select CarId, count(count) as c from Rentals Group By CarId Order By c desc) where rownum = 1;
Select Car.CarName into c_name from Car where CarId = pop;
Select t into total from (Select CarId, sum(count) as t from Rentals Group By CarId) s where s.CarId = pop;
dbms_output.PUT_line(CONCAT('CarRentalSite Name: ',rental_name));
dbms_output.PUT_line(CONCAT('CarRentalSite City: ',rental_city));
dbms_output.PUT_line(CONCAT('CarRentalSite Total Rentals: ',num));
dbms_output.PUT_line(CONCAT('Most Popular Compact Car: ',c_name));
dbms_output.PUT_line(CONCAT('Total Days Rented: ', total));
END CarRentalSiteDetail;
/
show errors;
BEGIN
CarRentalSiteDetail(1);
end;
/
То, что я написал логически, имеет для меня смысл и должно выполнять работу, но оно возвращает эту ошибку. У меня проблемы с исправлением
15/1 PL/SQL: SQL Statement ignored
15/49 PL/SQL: ORA-00904: "COUNT": invalid identifier
17/1 PL/SQL: SQL Statement ignored
17/45 PL/SQL: ORA-00904: "COUNT": invalid identifier