ORA-00923: ключевое слово FROM не найдено там, где ожидалось

У меня есть приведенный ниже код, и я получаю сообщение об ошибке: ORA-00923: ключевое слово FROM не найдено там, где ожидалось при четвертом выборе (*). Кто-нибудь знает почему?

Я просмотрел другие сообщения и не нашел своего решения.

select plan_date as Week,
      plan_date+7 as "Week + 7",
      plan_date+14 as "Week + 14",
      plan_tower, 
      plan_rice_type, 
      plan_hours/100 as Plan_Count,

      (select count(*)
       from smart_rice_cooker rc
       where rc.tower = p.plan_tower and
             rc.rice_type = p.plan_rice_type and
             rc.status <> 'Cancelled' and
             rc.actual_fd_date between p.plan_start_date and p.plan_end_date
      ) as Delivered_FD_Count,

      (select count(*)
       from smart_rice_cooker rc
       where rc.tower = p.plan_tower and
             rc.rice_type = p.plan_rice_type and
             rc.status <> 'Cancelled' and
             rc.actual_fd_date is null and
             rc.target_fd_date between p.plan_start_date and p.plan_end_date
       ) as Target_FD_Count

       ***(select count(*)
       from smart_rice_cooker rc
       where rc.tower = p.plan_tower and
             rc.rice_type = p.plan_rice_type and
             rc.status <> 'Cancelled' and
             rc.actual_td_date between p.plan_start_date+7 and p.plan_end_date+7
      ) as Delivered_TD_Count,

      (select count(*)
       from smart_rice_cooker rc
       where rc.tower = p.plan_tower and
             rc.rice_type = p.plan_rice_type and
             rc.status <> 'Cancelled' and
             rc.actual_rt_date between p.plan_start_date+14 and p.plan_end_date+14
      ) as RT_Delivered_Count,

      (select count(*)
       from smart_rice_cooker rc
       where rc.tower = p.plan_tower and
             rc.rice_type = p.plan_rice_type and
             rc.status <> 'Cancelled' and
             rc.actual_rt_date is null and
             rc.target_rt_date between p.plan_start_date+14 and p.plan_end_date+14
       ) as RT_Target_Count

from smart_plan p
order by plan_tower, plan_rice_type, plan_date

person T Fre    schedule 05.06.2012    source источник
comment
После Target_FD_Count, прямо перед указанным местоположением ошибки, отсутствует запятая.   -  person Codo    schedule 05.06.2012
comment
Отсутствует запятая после Target_FD_Count   -  person Limey    schedule 05.06.2012
comment
Спасибо, должно быть, только что пропустил это   -  person T Fre    schedule 05.06.2012


Ответы (2)


После as Target_FD_Count нет запятой. Вам нужно добавить туда запятую.

(select count(*)
   from smart_rice_cooker rc
   where rc.tower = p.plan_tower and
         rc.rice_type = p.plan_rice_type and
         rc.status <> 'Cancelled' and
         rc.actual_fd_date is null and
         rc.target_fd_date between p.plan_start_date and p.plan_end_date
   ) as Target_FD_Count, -- <-- Comma here

   (select count(*)
   from smart_rice_cooker rc
   where rc.tower = p.plan_tower and
         rc.rice_type = p.plan_rice_type and
         rc.status <> 'Cancelled' and
         rc.actual_td_date between p.plan_start_date+7 and p.plan_end_date+7
  ) as Delivered_TD_Count,
person Justin Cave    schedule 05.06.2012
comment
Спасибо, я, должно быть, просто не заметил этого. - person T Fre; 05.06.2012

Вам не хватает запятой после псевдонима Target_FD_Count. Обычно, когда вы обнаруживаете эту ошибку, проверяйте запятые в своем выборе.

person John D    schedule 05.06.2012