我遇到了一个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)
因此,基本上,每个月我都需要“约翰·多伊”将其30.000的5%捐入其PensionFund。
希望这是你们追求的。如果SQL不符合要求,就深表歉意。
答案 0 :(得分:0)
我期望这样的事情:
INSERT INTO PensionFunds (EmployeeId, Amount, PensionProvider)
SELECT EmployeeId, Salary * 0.05, PensionId
FROM CompanyEmployees;
这不会考虑不计其数的事情,例如:
CompanyEmployees
中的所有行都可能是在职员工。CompanyEmployees
中的所有行都可能向养老基金供款。CompanyEmployees
中可能有重复项(如果某人有两个兼职职位,那该怎么办)。