Abhik kashyap singh Ответов: 1

Как я могу обновить столбец @кон, чтобы моя временная таблица


declare @Con1 numeric(13,2),
@Con2 numeric (13,2),
@Числового управления con3(13,2),
@Con4 numeric (13,2),
@Con5 numeric (13,2),
@Con6 numeric (13,2),
@подставляют числовые(13,2)
если(@Con1 = '70') и (@Con1< '80')
Начать
Set @con= '10'
конец
иначе если (@Con2 = '81' и @Con2< '104')
Начать
Set @con = '15'
конец
остальное, если(@управления con3 ='105' и @управления con3&ЛТ;'114')
начать
Set @con = '25'
конец
иначе если (@Con4 = '115' и @Con4< '129')
начать
Set @con = '30'
конец
иначе если (@Con5 = '130' и @Con5< '150')
начать
Set @con = '40'
конец
иначе если (@Con6 = '150' и @Con6< '170')
начать
Set @con = '50'
конец



создать таблицу #employee_cash_incentive
(
inv_no varchar(20),
acc_code varchar(20),
creation_date datetime,
имя агента varchar (80),
сумма числовая(13,2),
amount_out числовые(13,2),
net_amount числовые(13,2),
inv_status varchar(30),
acc_name varchar(150),
Имя супервизора varchar (140),
call_count инт,
sale_count инт,
организация варчар(300),
service_amount_in числовые(13,2),
service_amount_out числовой (13,2),
product_amount_in числовые(13,2),
числовые product_amount_out(13,2),
hosting_amount_in числовые(13,2),
hosting_amount_out числовые(13,2),
target_amount числовой (13,2),
зарплата числовая(13,2),
RPC числовой(13,2),
Подставляют числовые(13,2),
Final_Payment числовые(13,2),
кал числовой(13,2),
cal_rs числовой(13,2),
Released_final_amount числовые(13,2)

)

Что я уже пробовал:

Как мы передадим значение столбца @con to con в

1 Ответов

Рейтинг:
12

sunettew

CREATE TABLE #GetCon
(
	id INT IDENTITY(1,1) PRIMARY KEY,
	con1 INT  NULL,
	con2 INT NULL,
	value numeric(13,2) NULL
)

--You need to create a table for your variables. Why do you have multiple values con1, con2, con3, con4 etc?
--You only need to assign to two.
--You need to provide more information. Your question isn't well formed.
INSERT INTO #GetCon
(con1, con2, value)
VALUES(70,80,10),
(81, 104,15),
(105,114,25),
(115,129,30),
(120,150,40),
(150, 170, 50)

DECLARE @con1 INT,
@con2 INT,
@value numeric(13,2)

SET @con1 = 70
SET @con2 = 80

SET @value = (SELECT value FROM #GetCon
			  WHERE con1 >= @con1 and con2 <= @con2)

create table #employee_cash_incentive
(
inv_no varchar(20),
acc_code varchar(20),
creation_date datetime,
agent_name varchar(80),
amount numeric(13,2),
amount_out numeric(13,2),
net_amount numeric(13,2),
inv_status varchar(30),
acc_name varchar(150),
Supervisor_name varchar(140),
call_count int,
sale_count int,
organisation varchar(300),
service_amount_in numeric(13,2),
service_amount_out numeric(13,2),
product_amount_in numeric(13,2),
product_amount_out numeric(13,2),
hosting_amount_in numeric(13,2),
hosting_amount_out numeric(13,2),
target_amount numeric(13,2),
salary numeric(13,2),
RPC numeric(13,2),
Con numeric(13,2),
Final_Payment numeric(13,2),
cal numeric(13,2),
cal_rs numeric(13,2),
Released_final_amount numeric(13,2)

)

--Typically you insert values into your table. Otherwise, if values exist, you update your table. Is your inv_no unique? Will that be your identifier for updates?
INSERT INTO #employee_cash_incentive 
(inv_no,Supervisor_name,call_count,Con)
VALUES('1','Jim Smith',5,@value)

SELECT inv_no,Supervisor_name,call_count,Con FROM #employee_cash_incentive 

DROP TABLE #employee_cash_incentive
DROP TABLE #GetCon