삽입 열을 사용하여 계산 된 행을 테이블에 추가하려고합니다. 그래서 대략 내가 추가하려고 다음과 같은 분할 해요 : 내가 얻을 그래서SQL에 변수가있는 행 추가
[RFC] [Tons]
[1] NAME 1 30
[2] NAME 2 50
[3] NAME 2 30
[4] NAME 2 20
을 : 당신이 볼 수 있듯이
[RFC] [Tons]
[1] NAME 1 30
[2] NAME 2 42
[3] NAME 2 58
, 나는 이름이 모두 추가 한 후 두 행으로 나누어 : 총 42 %, 전체 58 % 중 하나. 계산 된 변수를 추가
은 매우 간단합니다 :
먼저 나는 그런
DECLARE @TonsE int;
SET @TonsE = CASE
WHEN
(SELECT SUM(mkt_impotemporal.Tons)*0.42 FROM mkt_impotemporal where RFC='EHP040219KX0' GROUP BY RFC) is null THEN 0
ELSE
(SELECT SUM(mkt_impotemporal.Tons)*0.42 FROM mkt_impotemporal where RFC='EHP040219KX0' GROUP BY RFC)
END;
을 내 변수를 선언 나는 추가 :
이INSERT INTO mkt_impotemporal
VALUES
('EHP040219KX0',
@TonsE)
그러나, 지금은와 붙어있어 총 42 %의 새 행을 포함하지만 나머지 행을 원래 값의 58 % 만 반영하도록 변경할 수는 없습니다. 새 행을 삽입하기 전에 업데이트를 실행하더라도 (나는 sur가 아닙니다. 어떻게 작동하지만 변수가 다른 쿼리의 숫자를 "저장"하지 않는 것 같습니다.
어떻게하면이 아이디어를 얻을 수 있습니까? 미리 감사드립니다!
어떤 데이터베이스 시스템을 사용하고 있습니까? –
@AlexanderFedorenko SQL 2012. – eflores89