从SQL Server中的公式进行动态计算

时间:2019-04-22 05:06:43

标签: sql-server sql-server-2012

下面是我的表,我想根据公式进行计算并与员工一起插入table3中。<​​/ p>

我有3张桌子

table1 payhead master 
table2 employee payheadwise salary
table3 (the destination table)

我想按照公式列进行计算并将其插入表3

例如,在表2中,Pay1-2000中的employeeeid-E001,因此对于公式列的Pay2,应按pay1值进行计算,然后插入表3中,如empid-E001,payid-pay1,amount-2000,Empid-E001 ,Payid-pay2,金额240(计算为2000 * 12/100)NextRow-Empid-E001,Payid-pay3,金额2240(pay1 + pay2)。因此,应根据公式将其计算并插入到第三张表中。 请有人帮帮我。

CREATE TABLE #Table1  
(
     ID VARCHAR(5), 
     formula VARCHAR(MAX)
)

CREATE TABLE #table2  
(
     employeid VARCHAR(5), 
     payhead VARCHAR(5), 
     amount MONEY
)

CREATE TABLE #table3   
(
     employeid VARCHAR(5), 
     payiD VARCHAR(5), 
     amount MONEY
)

INSERT INTO #Table1 
VALUES ('PAY1', NULL), ('PAY2', '(PAY1+PAY2*12%)'), ('PAY3', 'PAY1 + PAY2')

INSERT INTO #Table2 
VALUES ('E001', 'PAY1', 2000), ('E002', 'PAY1', 5000), ('E003', 'PAY1', 3000)

INSERT INTO #Table2 
VALUES ('E001', 'PAY3', 1000), ('E002', 'PAY3', 3000), ('E003', 'PAY3', 2000)

0 个答案:

没有答案