根据条件,依基础表数据生成目标表数据?SQL 2005

sunboy_163 2010-10-27 02:18:36
人员工资配置表:hrmConfig

hr_id hr_xm hr_jbgz hr_jx
1 张三 1500 800
2 李四 1500 600

人员工资管理表:hrmManager

hm_id hm_xm hm_jbgz hm_jx hm_createDate
1 张三 1500 800 2010-10-27 14:07:34
2 李四 1500 600 2010-10-27 14:07:34

说明:hr_id,hm_id为自增序列,hm_createDate系统默认生成时间。

需求:

每个月财务会根据“人员工资配置表:hrmConfig”生成相对应的“人员工资管理表:hrmManager”,这样基础数据就有了,现在问题是?如何每月个此操作仅执行一次,并且已经存在的不在生成?

insert into hrmManager (hm_xm,hm_jbgz,hm_jx) select hr_xm,hr_jbgz,hr_jx from hrmConfig

上述SQL是可以生成,但没有条件判断,点击“生成按钮”就生成一次,就重复了。不想在程序里判断,想在SQL这里判断一下,如果当月已经生成数据,在不用重复生成,把没有生成就可以了。

如果判断字段“hm_createDate”不够,需要增加其它字段充当判断条件也可以。

...全文
143 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
linguojin11 2010-10-27
  • 打赏
  • 举报
回复
后面加个select @@ROWCOUNT
sunboy_163 2010-10-27
  • 打赏
  • 举报
回复
谢谢大家!问题得到解决!


还有一个小问题,能不能返回有多少条记录被生成?
hovy_yang 2010-10-27
  • 打赏
  • 举报
回复
判断一下是否在同一个月里相同姓名(假定没有员工重名,重名用工号代替)是否存在、存在则不能插入。
如1楼的sql语句
SQLCenter 2010-10-27
  • 打赏
  • 举报
回复
hrmManager 宁可不要 hr_xm 也要 hr_id,当然不在乎冗余可以 hr_id, hr_xm 同时存在。
sunboy_163 2010-10-27
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 josy 的回复:]

修正
SQL code
insert into hrmManager (hm_xm,hm_jbgz,hm_jx)
select hr_xm,hr_jbgz,hr_jx
from hrmConfig t
where not exists(
select 1
from hrmManager
where hm_xm=t.hm_xm
and date……
[/Quote]

防止姓名重名,两张表同时增加唯一员工编号:hr_num,(不重复)如何修改?
ForFumm 2010-10-27
  • 打赏
  • 举报
回复
insert into hrmManager (hm_xm,hm_jbgz,hm_jx) select hr_xm,hr_jbgz,hr_jx from hrmConfig tb where  not exists (select 1 from hrmConfig where hm_xm=tb.hm_xm)
百年树人 2010-10-27
  • 打赏
  • 举报
回复
修正
insert into hrmManager (hm_xm,hm_jbgz,hm_jx) 
select hr_xm,hr_jbgz,hr_jx
from hrmConfig t
where not exists(
select 1
from hrmManager
where hm_xm=t.hm_xm
and datediff(mm,getdate(),hm_createDate)=0
)

SQLCenter 2010-10-27
  • 打赏
  • 举报
回复
--hrmManager 添加 hr_id
insert into hrmManager (hr_id, hm_xm,hm_jbgz,hm_jx) select hr_id, hr_xm,hr_jbgz,hr_jx from hrmConfig t
where not exists (select 1 from hrmManager where hr_id=t.hr_id and month(hm_createDate)=month(getdate()))
百年树人 2010-10-27
  • 打赏
  • 举报
回复
insert into hrmManager (hm_xm,hm_jbgz,hm_jx) 
select hr_xm,hr_jbgz,hr_jx from hrmConfig t
where not exists(select 1 from hrmConfig where hm_xm=t.hm_xm and datediff(mm,hm_createDate,t.hm_createDate)=0)

应该用员工号关联,否则存在同名同姓的不好处理
这个是完整源码 python实现 大数据 Spark pyspark 可视化大屏+Kafka+FastAPI+Vue3 【大数据毕业设计】基于Spark实时电商用户行为分析与预测(Python版本+pyspark+可视化大屏+Kafka+FastAPI+Vue3) 源码+论文 完整版 数据库Mysql 随着电子商务规模持续扩大,用户在浏览、加购、收藏与购买等环节产生的行为数据呈现高并发、高吞吐与强时效特征。传统离线批处理分析难以满足运营决策对实时性的要求。本文设计并实现了一套基于 Spark 的实时电商用户行为分析与预测系统,围绕“数据采集—流式计算—指标落库—可视化展示—销售预测”的完整链路展开研究与工程实践。 系统采用前后端分离架构:前端基于 Vue3、Element Plus 与 ECharts 构建管理端与数据大屏;后端采用 Python FastAPI 提供 RESTful 接口,并结合 JWT 完成管理员身份认证;实时链路以 Kafka 作为消息中间件承接行为事件,以 Spark Structured Streaming 完成按小时窗口的 PV、UV、加购、收藏、购买与销售额聚合;预测模块基于 Spark ML 线性回归对销售额序列进行建模,并输出 RMSE、MAE、MAPE 等误差指标。数据持久化采用 MySQL数据库名为 db_ecommerce,核心业务均以 t_ 前缀命名。 测试结果明,系统能够稳定完成管理员登录、个人中心维护、行为与商品管理、实时统计展示、销售预测对比及流水线状态监控等功能,具备较好的可扩展性与教学示范价值,可为电商运营提供实时洞察与辅助决策支持。 本文的主要工作包括:完成系统需求分析与总体架构设计;绘制实体属性图与实体关系图并完成八张核心业务设计;实现基于 Kafka 与 Spark 的实时统计及销售预测链路;完成 Vue

22,296

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧