【SQL】统一训练平台数据库实践--20230927

储存过程vlookup_peopledata_csodtraining

默认导出用今天批次的数据进行join on,先删除过渡表的资料,再将查询结果放在过渡表中。

BEGIN
   DECLARE startdate varchar(50);
   SET startdate = date_format(NOW(),'%Y%m%d');

   DELETE FROM season.csod_data2;
   INSERT into season.csod_data2
		(
	    site,
	    plant,
	    deptid,
	    emplid,
	    name,
	    name_a,
	    hire_dt,
	    location,
	    jobtitle_descr,
	    officer_level_a,
	    supervisor_id,
	    labor_type,
	    grade,
	    sex,
	    lo_title,
	    object_type,
	    user_lo_assigned_dt,
	    user_lo_comp_dt,
	    user_lo_status
		)
	SELECT 
	    a.site,
	    a.plant,
	    a.deptid,
	    a.emplid,
	    a.name,
	    a.name_a,
	    a.hire_dt,
	    a.location,
	    a.jobtitle_descr,
	    a.officer_level_a,
	    a.supervisor_id,
	    a.labor_type,
	    a.grade,
	    a.sex,
	    b.lo_title,
	    b.object_type,
	    b.user_lo_assigned_dt,
	    b.user_lo_comp_dt,
	    b.user_lo_status
	FROM season.people_data AS a 
	LEFT JOIN season.csod_employee_training_detail_g AS b ON (a.emplid = b.emplid)
	WHERE left(a.batchid,8)=startdate and left(b.batchid,8)=startdate
	#WHERE left(a.batchid,8)='20230926' and left(b.batchid,8)='20230926'
	#WHERE a.batchid = '20230926041509422' and b.batchid = '20230926092000010'
	#limit 30
	;
END

调用储存过程 CALL vlookup_peopledata_csodtraining();

视图view_peopleData_join_csodEmployeeTrainingDetailG

用view将查询条件存起来,需要时再查询。

CREATE VIEW view_peopleData_join_csodEmployeeTrainingDetailG AS 
SELECT 
    a.site,
    a.plant,
    a.deptid,
    a.emplid,
    a.name,
    a.name_a,
    a.hire_dt,
    a.location,
    a.jobtitle_descr,
    a.officer_level_a,
    a.supervisor_id,
    a.labor_type,
    a.grade,
    a.sex,
    b.lo_title,
    b.object_type,
    b.user_lo_assigned_dt,
    b.user_lo_comp_dt,
    b.user_lo_status
FROM season.people_data AS a 
LEFT JOIN season.csod_employee_training_detail_g AS b ON (a.emplid = b.emplid)
WHERE a.batchid = '20230926041509422'

建表

1.使用较小容量的数据类型
2.建立索引
3.不必要的字段请删掉
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值