ORA-00923:未找到FROM关键字

时间:2012-06-05 13:26:56

标签: sql oracle toad

我有以下代码,并且收到错误: 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

2 个答案:

答案 0 :(得分:4)

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,

答案 1 :(得分:1)

您在别名Target_FD_Count之后缺少逗号。通常,当您发现此错误时,请检查您选择的逗号。