DECLARE @TB TABLE(SN INT,[<1] INT, [<2] INT, [<3] INT)
INSERT @TB
SELECT 1, NULL, NULL, NULL UNION ALL
SELECT 2, 3, 2, 1 UNION ALL
SELECT 3, 2, 4, 7 UNION ALL
SELECT 4, 2, 9, 10UPDATE @TB SET [<1]=COL1,[<2]=COL2,[<3]=COL3
FROM @TB AS A,(SELECT SUM([<1]) AS COL1,SUM([<2]) AS COL2,SUM([<3]) AS COL3 FROM @TB WHERE SN<>1) B
WHERE SN=1SELECT * FROM @TB
/*
SN <1 <2 <3
----------- ----------- ----------- -----------
1 7 15 18
2 3 2 1
3 2 4 7
4 2 9 10
*/
INSERT @TB
SELECT 1, NULL, NULL, NULL UNION ALL
SELECT 2, 3, 2, 1 UNION ALL
SELECT 3, 2, 4, 7 UNION ALL
SELECT 4, 2, 9, 10UPDATE @TB SET [<1]=COL1,[<2]=COL2,[<3]=COL3
FROM @TB AS A,(SELECT SUM([<1]) AS COL1,SUM([<2]) AS COL2,SUM([<3]) AS COL3 FROM @TB WHERE SN<>1) B
WHERE SN=1SELECT * FROM @TB
/*
SN <1 <2 <3
----------- ----------- ----------- -----------
1 7 15 18
2 3 2 1
3 2 4 7
4 2 9 10
*/
INSERT tb
SELECT 1, NULL, NULL, NULL UNION ALL
SELECT 2, 3, 2, 1 UNION ALL
SELECT 3, 2, 4, 7 UNION ALL
SELECT 4, 2, 9, 10
goupdate tb
set [<1] = (select sum([<1]) from tb where sn <> 1),
[<2] = (select sum([<2]) from tb where sn <> 1),
[<3] = (select sum([<3]) from tb where sn <> 1)
where sn = 1select * from tbdrop table tb/*SN <1 <2 <3
----------- ----------- ----------- -----------
1 7 15 18
2 3 2 1
3 2 4 7
4 2 9 10(所影响的行数为 4 行)
*/