我有以下查询, 表格PCA和PC具有相似的结构(相同的列)。
select session,wc,sum(duration) / (sum(delta) + sum(duration)) as wc_efficiency from
(
SELECT
a.session,a.panel,a.line_location as WC,a.line_duration as duration,a.line_lead_duration - b.line_lead_duration as delta
FROM PCA a
join PC b
on a.batch = b.batch and a.session = b.session and a.panel = b.panel
where a.line_location is not null
union
SELECT
a.session,a.completion_location as WC2,a.completion_duration as duration2,a.completion_lead_duration - b.completion_lead_duration as delta2
FROM PCA a
join PC b
on a.batch = b.batch and a.session = b.session and a.panel = b.panel
where a.completion_location is not null
)
group by session,wc
现在,我想为duration2和delta2分开找到wc2和wc_efficiency2作为单独的列。为此,我将查询更新如下:
select session,wc1,sum(duration1) / (sum(delta1) + sum(duration1)) as wc_efficiency1,wc2,sum(duration2) / (sum(delta2) + sum(duration2)) as wc_efficiency2 from
(
SELECT
a.session as ss,a.panel as pl,a.line_location as WC1,a.line_duration as duration1,a.line_lead_duration - b.line_lead_duration as delta1
FROM PCA a
join PC b
on a.batch = b.batch and a.session = b.session and a.panel = b.panel
where a.line_location is not null
) t1
join
(
SELECT
a.session as ss,a.completion_lead_duration - b.completion_lead_duration as delta2
FROM PCA a
join PC b
on a.batch = b.batch and a.session = b.session and a.panel = b.panel
where a.completion_location is not null
) t2
ON t1.ss = t2.ss and t1.pl = t2.pl
group by wc1,wc2
查询未运行,我找不到错误。