我有以下代码,并且收到错误: 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
答案 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之后缺少逗号。通常,当您发现此错误时,请检查您选择的逗号。