我的查询是, 选择后,我得到的值如下:
HeadCode HeadName NoOfEmp VisitsMade
-------------------------------------------------
A101 ABC 20 5
M123 DEF 4 1
L809 LMN 2 10
B201 XYZ 5 3
现在每当我反击(在SELECTION之后)HeadCode B201 - XYZ 时,我需要添加他的NoOfEmp和VisitsMade在HeadCode A101的行中。 就像在这个例子中,当我找到HeadCode B201时,他的字段将被添加到A101的字段中,而带有HeadCode B201的行将被删除。
HeadCode HeadName NoOfEmp VisitsMade
-------------------------------------------------
A101 ABC 25 8
M123 DEF 4 1
L809 LMN 2 10
此处A101行添加了B201的值,之后在表格中删除了B201。
答案 0 :(得分:1)
您可以尝试以下代码:
DECLARE @tmp TABLE (HeadCode VARCHAR(4), HeadName VARCHAR(3), NoOfEmp INT, VisitsMade INT)
INSERT INTO @tmp
SELECT ... --- your select query
UPDATE @tmp
SET NoOfEmp = NoOfEmp + (SELECT NoOfEmp FROM @tmp WHERE HeadCode = 'B201'),
VisitsMade = VisitsMade + (SELECT VisitsMade FROM @tmp WHERE HeadCode = 'B201')
WHERE HeadCode = 'A101'
SELECT * FROM @tmp