sql - 从另一个表中获取数据,如果存在则插入,否则更新
问题描述
例如,我有一个名为
列应用
+---------------+------+-------+--------+-------+-------+
| ApplicationID | Name | Phone | DeptID | EmpNo | Email |
+---------------+------+-------+--------+-------+-------+
| | | | | | |
有列的员工
+-------+------+-------+--------+
| EmpNo | Name | Phone | DeptID |
+-------+------+-------+--------+
| | | | |
EmpNo 是 int 且唯一的
当一个新人申请时,他们将被插入到申请表中,如果获得批准,他们将获得一个员工编号。
当前员工想申请新部门时,还需要将其插入申请表并进行处理
每个月我都需要处理这个表中的数据并插入/更新另一个名为employee 的表。
INSERT INTO [Employee]
(
[EmpNo]
,[Name]
,[Phone]
,[DeptID]
)
SELECT [EmpNo]
,[Name]
,[Phone]
,[DeptID]
FROM [applications]
仅当应用表中存在 EmpNo 时如何更新?
解决方案
推荐阅读
- java-8 - 在一个管道中链接两个可为空的 Optional
- python-3.x - 从wireshark文本文件中提取帧号、ipv6地址和类型信息
- angular - 删除角度服务中存储的可观察值
- javascript - javascript,reduce 函数中的 if/else 未正确满足
- node.js - 与 @babel/register 模块相关的 Node Bable 错误“ReferenceError: Unknown option: .caller。检查 .../options/ 以获取有关选项的更多信息”
- node.js - Nodejs客户端不连接测试数据库
- flutter - 在哪里/何时使用 StateNotifier 控制器执行排序、分组等操作?
- go - gopter 属性测试是否可安全用于并行使用?
- php - 找不到类“SoapClient”(laravel)
- javascript - Google Workspace 插件错误:TypeError:无法读取未定义的属性“stringInputs”