sql-server - 一个 SQL Server 查询,将每个人的养老基金的价值增加一个月的缴款价值
问题描述
我有一个我正在努力解决的 SQL 查询问题,我对此很陌生。
基本上我有一个养老基金,每个月员工每月都会向它缴纳工资的 5%。
在我学习的过程中,我发现很难弄清楚最好的查询类型(我的意思是INSERT
等)是什么,以及你们希望我提供什么样的信息来提供帮助?还使用 SQL Server Management Studio
谢谢!
INSERT INTO CompanyEmployees (FirstName, LastName, Age, Salary, PositionID, PensionID)
VALUES ('John', 'Doe', 33, 30.000,
(SELECT TOP 1 ID
FROM JobPosition
WHERE Title = 'IT Support'),
(SELECT ID
FROM PensionFunds
WHERE Amount = 250.00));
INSERT INTO PensionFunds (Amount, PensionProvider)
VALUES ('250.00', 3)
所以基本上,每个月我都需要“John Doe”将他 30.000 的 5% 捐给他的 PensionFund。
希望这就是你们所追求的。抱歉,如果 SQL 不符合要求。
解决方案
我会期待这样的事情:
INSERT INTO PensionFunds (EmployeeId, Amount, PensionProvider)
SELECT EmployeeId, Salary * 0.05, PensionId
FROM CompanyEmployees;
这并没有考虑到无数的事情,例如:
- 并非所有行都
CompanyEmployees
可能是活跃员工。 - 并非所有行都
CompanyEmployees
可能向养老基金捐款。 - 可能有重复
CompanyEmployees
(如果有人有两个兼职职位怎么办)。 - 您似乎没有日期,因此您允许同时进行多个贡献。
- 也许并非所有员工都贡献 5%。
推荐阅读
- r - Stringr:从 data.frame 列中的字符串中提取所有匹配项。搜索字符串的 Data.frame 和向量非常大(>10k)
- c++ - 一对数组而不是 STL 映射 - 可能吗?优缺点都有什么?
- python - 编写 Python 脚本,并使用 PuTTY 与测试设备对话
- blazor - Blazor webassembly 无法在客户端项目中添加库项目的引用
- sql - 如何在同一张表上选择匹配行并匹配其 ID 和 Date
- python - python mysql连接错误MAX_QUESTIONS资源
- javascript - 在父模态的 esc 按键上打开子模态
- augmented-reality - 如何在 ARKit 中检测现实世界对象是否适合 3d 对象(框)?
- html - 如何更改图像标签上的 svg 填充颜色
- python - 使用 Python 的 GraalVM 多语言原生图像