sql - 创建和连接临时表
问题描述
我正在寻找一些帮助来加入两个临时表以获得最终输出。
我必须创建不同的表,一个来计算花费的时间,另一个计算总和
不幸的是,我无法在一张表中执行此操作,因为有很多重复的时间值导致计算错误。
下面是代码:
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;
感谢任何帮助,因为我被困住了。
解决方案
您必须添加表actual_db_1
才能actual_db_2
查询
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
INNER JOIN Total_Cartons ON Total_Time.Username = Total_Cartons.Username
INNER JOIN actual_db_1 ia ON ia.username = Total_Time.Username
INNER JOIN actual_db_2 pm ON ia.product = pm.code
group by
Total_Time.Username
,Total_Time.Hours
,Total_Time.Minutes
,Total_Cartons.Total_Ctn
order by
ia.username;
COMMIT;
推荐阅读
- linux - 通过 USB 将网络流量镜像到以太网(linux\windows)?
- openssl - az keyvault 证书导入失败,“NoneType”对象没有属性“get_notBefore”
- android - GoogleMaps.animateCamera 使用 Firebase 实时数据库代码崩溃
- form-recognizer - StartRecognizeCustomFormsFromUri 返回“参数 'Source' 不是有效的 Uri。” 用于文件 URI
- python-3.x - 使用多线程python3加速
- c# - 在 Asp.Net 中无法检测到按钮单击
- azure - Azure 替换管道发布任务中 Asp.net MVC 的服务模型端点的令牌
- python - 当两个表与“主”表不匹配时自动通知 Python 脚本
- php - Laravel - 身份验证,未记录路由
- python - csv中第一位数字频率,无导入