Мне нужна помощь в соединении двух временных таблиц для окончательного вывода.
Мне нужно создать разные таблицы, одну для расчета затраченного времени, а другую для расчета общей суммы
к сожалению, я не смог сделать это в одной таблице, так как было много повторяющихся значений времени, приводящих к неправильным вычислениям.
ниже код:
CREATE TABLE KPI_REPORT (
USERNAME CHAR(50),
HOURS NUMBER(10),
MINUTES NUMBER(10),
TOTAL_CTN NUMBER(10),
AVERAGE_CTN NUMBER(10)
);
CREATE TABLE TOTAL_TIME (
USERNAME CHAR(50),
HOURS NUMBER(10),
MINUTES NUMBER(10)
);
CREATE TABLE TOTAL_CARTONS (
USERNAME CHAR(50),
TOTAL_CTN NUMBER(10)
);
INSERT INTO Total_Time ( Username, Hours, Minutes )
select
ia.username --username
,ROUND( SUM( ia.dtime3-ia.dtime1 ) * 24,2 ) --hours
,ROUND( SUM( ( ia.dtime3-ia.dtime1 ) * 24 ) * 60,2 ) --minutes
from
actual_db_1 ia
where
to_char( ia.dtime3, 'YYYY-MM-DD' ) between '2019-01-08' and '2019-01-08'
and ia.site = '7'
and ia.from_location = 'ORDERPICK'
and ia.queue like 'LL%'
group by
ia.username;
COMMIT;
INSERT INTO Total_Cartons ( Username, Total_Ctn )
select
ia.USERNAME --username
,SUM( pm.qty/pm.packfactor_1 ) --cartons
from
actual_db_1 ia,
actual_db_2 pm
where
to_char( ia.dtime3, 'YYYY-MM-DD' ) between '2019-01-08' and '2019-01-08'
and ia.site = '7'
and ia.queue like 'LL%'
and pm.code = product
group by
ia.username;
COMMIT;
INSERT INTO KPI_Report ( Username, Hours, Minutes, Total_Ctn, Average_Ctn )
select
Total_Time.Username
,Total_Time.Hours
,Total_Time.Minutes
,Total_Cartons.Total_Ctn
,ROUND( ( SUM( ia.qty/pm.packfactor_1 ) ) / ( SUM( ia.dtime3-ia.dtime1) * 24 ),2 )
from
Total_Time
,Total_Cartons
where
Total_Time.Username = Total_Cartons.Username
group by
Total_Time.Username
,Total_Time.Hours
,Total_Time.Minutes
,Total_Cartons.Total_Ctn
order by
ia.username;
COMMIT;
Цените любую помощь по этому вопросу, поскольку я застрял.