Динамический расчет по формуле в SQL Server - PullRequest
0 голосов
/ 22 апреля 2019

Ниже приведены мои таблицы, и я хочу провести расчеты по формуле и вставить в таблицу 3 с сотрудниками.

У меня есть 3 таблицы

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

Я хочу рассчитать по столбцу формулы и вставить в таблицу3

Например, в таблице 2 employeeid-E001 в Pay1-2000, поэтому для Pay2, который является столбцом формулы, следует рассчитать по значению pay1 и вставить в таблицу 3, например empid-E001, payid-pay1, сумму 2000, затем Empid-E001 , Payid-pay2, сумма-240 (рассчитывается как 2000 * 12/100) NextRow-Empid-E001, Payid-pay3, Amount-2240 (pay1 + pay2). Поэтому по формуле его следует рассчитать и вставить в 3-ю таблицу. пожалуйста, кто-нибудь, помогите мне.

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)
...