我创建了一个完美无缺的选择,但是当我尝试使用它创建视图时,我收到错误must specify column name for view select expression
。
我的所有列都已命名。我究竟做错了什么? 这是我的观看代码:
create view v_dj_milestone as
select j.job_number as jobnumber,
j.supervisor as supervisor,
s.activity_name as stage,
sc.proj_end_date as scheduledclose,
sc.base_start_date as baselinestart,
substr (j.job_number, 1, 3) as Studio,
case substr (j.job_number, 1, 3)
when '001' then 'Triad'
when '002' then 'Triad'
when '003' then 'Triad'
when '004' then 'Triad'
when '005' then 'Triangle'
when '006' then 'Triangle'
when '007' then 'Triangle'
when '008' then 'Triangle'
when '009' then 'Charlotte'
when '010' then 'Charlotte'
when '011' then 'Charlotte'
when '012' then 'Charlotte'
when '013' then 'Charlotte'
when '014' then 'Florida'
when '015' then 'Florida'
when '017' then 'Florida'
when '023' then 'Costal Carolina'
when '024' then 'Costal Carolina'
when '025' then 'Costal Carolina'
else 'Unknown'
end as DIV,
(sc.proj_end_date - sc.base_start_date) as Days,
(sc.base_calduration - (sc.proj_end_date - sc.base_start_date)) as Variance,
(sc.base_calduration / (sc.proj_end_date - sc.base_start_date))*100 as Accuracy
from job j
inner join cutoff_phase c
on (j.cutoff_phase_ID = c.cutoff_phase_id)
inner join sactivity s
on (c.sactivity_id = s.sactivity_id)
inner join schedule sc
on (sc.job_number = j.job_number);
答案 0 :(得分:0)
对我而言,in VIEW
,您无法在视图正文中使用别名。
试试这个:
create view v_dj_milestone (jobnumber, supervisor, stage, scheduledclose, baselinestart, Studio, DIV, Days, Variance, Accuracy) as
select j.job_number,
j.supervisor,
s.activity_name,
sc.proj_end_date,
sc.base_start_date,
substr (j.job_number, 1, 3),
case substr (j.job_number, 1, 3)
when '001' then 'Triad'
when '002' then 'Triad'
when '003' then 'Triad'
when '004' then 'Triad'
when '005' then 'Triangle'
when '006' then 'Triangle'
when '007' then 'Triangle'
when '008' then 'Triangle'
when '009' then 'Charlotte'
when '010' then 'Charlotte'
when '011' then 'Charlotte'
when '012' then 'Charlotte'
when '013' then 'Charlotte'
when '014' then 'Florida'
when '015' then 'Florida'
when '017' then 'Florida'
when '023' then 'Costal Carolina'
when '024' then 'Costal Carolina'
when '025' then 'Costal Carolina'
else 'Unknown'
end,
(sc.proj_end_date - sc.base_start_date),
(sc.base_calduration - (sc.proj_end_date - sc.base_start_date)),
(sc.base_calduration / (sc.proj_end_date - sc.base_start_date))*100
from job j
inner join cutoff_phase c
on (j.cutoff_phase_ID = c.cutoff_phase_id)
inner join sactivity s
on (c.sactivity_id = s.sactivity_id)
inner join schedule sc
on (sc.job_number = j.job_number);
答案 1 :(得分:0)
你必须编码为
create view v_dj_milestone (jobnumber,supervisor, .. .. jName ) as
select j.job_number as jobnumber,
j.supervisor as supervisor,
s.activity_name as stage,
sc.proj_end_date as scheduledclose,
sc.base_start_date as baselinestart,
substr (j.job_number, 1, 3) as Studio,
case substr (j.job_number, 1, 3)
when '001' then 'Triad'
when '002' then 'Triad'
when '003' then 'Triad'
when '004' then 'Triad'
when '005' then 'Triangle'
when '006' then 'Triangle'
when '007' then 'Triangle'
when '008' then 'Triangle'
when '009' then 'Charlotte'
when '010' then 'Charlotte'
when '011' then 'Charlotte'
when '012' then 'Charlotte'
when '013' then 'Charlotte'
when '014' then 'Florida'
when '015' then 'Florida'
when '017' then 'Florida'
when '023' then 'Costal Carolina'
when '024' then 'Costal Carolina'
when '025' then 'Costal Carolina'
else 'Unknown'
end as jName,