表中数据如下
id ShopCount region office city area
43 7 山东 日照办 日照 三庄
42 44 山东 日照办 日照 涛雒
41 8 山东 日照办 日照 西湖
51 127 山东 潍坊办 潍坊 潍坊城区1
52 185 山东 潍坊办 潍坊 潍坊城区2
53 188 山东 潍坊办 潍坊 潍坊城区3
56 174 山东 潍坊办 诸城 乡镇东线
55 138 山东 潍坊办 诸城 乡镇西线
54 394 山东 潍坊办 诸城 诸城城区
75 104 河北 石家庄办 石家庄 桥东区
73 66 河北 石家庄办 石家庄 桥西中山路北
74 36 河北 石家庄办 石家庄 桥西中山路南
76 106 河北 石家庄办 石家庄 石家庄直属
查询结果
id ShopCount region office city area RegionCount OfficeCount CityCount
43 7 山东 日照办 日照 三庄 1265 59 59
42 44 山东 日照办 日照 涛雒 1265 59 59
41 8 山东 日照办 日照 西湖 1265 59 59
51 127 山东 潍坊办 潍坊 潍坊城区1 1265 1206 500
52 185 山东 潍坊办 潍坊 潍坊城区2 1265 1206 500
53 188 山东 潍坊办 潍坊 潍坊城区3 1265 1206 500
56 174 山东 潍坊办 诸城 乡镇东线 1265 1206 706
55 138 山东 潍坊办 诸城 乡镇西线 1265 1206 706
54 394 山东 潍坊办 诸城 诸城城区 1265 1206 706
75 104 河北 石家庄办 石家庄 桥东区 312 312 312
73 66 河北 石家庄办 石家庄 桥西中山路北 312 312 312
74 36 河北 石家庄办 石家庄 桥西中山路南 312 312 312
76 106 河北 石家庄办 石家庄 石家庄直属 312 312 312
id ShopCount region office city area
43 7 山东 日照办 日照 三庄
42 44 山东 日照办 日照 涛雒
41 8 山东 日照办 日照 西湖
51 127 山东 潍坊办 潍坊 潍坊城区1
52 185 山东 潍坊办 潍坊 潍坊城区2
53 188 山东 潍坊办 潍坊 潍坊城区3
56 174 山东 潍坊办 诸城 乡镇东线
55 138 山东 潍坊办 诸城 乡镇西线
54 394 山东 潍坊办 诸城 诸城城区
75 104 河北 石家庄办 石家庄 桥东区
73 66 河北 石家庄办 石家庄 桥西中山路北
74 36 河北 石家庄办 石家庄 桥西中山路南
76 106 河北 石家庄办 石家庄 石家庄直属
查询结果
id ShopCount region office city area RegionCount OfficeCount CityCount
43 7 山东 日照办 日照 三庄 1265 59 59
42 44 山东 日照办 日照 涛雒 1265 59 59
41 8 山东 日照办 日照 西湖 1265 59 59
51 127 山东 潍坊办 潍坊 潍坊城区1 1265 1206 500
52 185 山东 潍坊办 潍坊 潍坊城区2 1265 1206 500
53 188 山东 潍坊办 潍坊 潍坊城区3 1265 1206 500
56 174 山东 潍坊办 诸城 乡镇东线 1265 1206 706
55 138 山东 潍坊办 诸城 乡镇西线 1265 1206 706
54 394 山东 潍坊办 诸城 诸城城区 1265 1206 706
75 104 河北 石家庄办 石家庄 桥东区 312 312 312
73 66 河北 石家庄办 石家庄 桥西中山路北 312 312 312
74 36 河北 石家庄办 石家庄 桥西中山路南 312 312 312
76 106 河北 石家庄办 石家庄 石家庄直属 312 312 312
id ShopCount region office city area RegionCount OfficeCount CityCount
43 7 山东 日照办 日照 三庄 1265 59 59
42 44 山东 日照办 日照 涛雒 1265 59 59
41 8 山东 日照办 日照 西湖 1265 59 59
51 127 山东 潍坊办 潍坊 潍坊城区1 1265 1206 500
52 185 山东 潍坊办 潍坊 潍坊城区2 1265 1206 500
53 188 山东 潍坊办 潍坊 潍坊城区3 1265 1206 500
56 174 山东 潍坊办 诸城 乡镇东线 1265 1206 706
55 138 山东 潍坊办 诸城 乡镇西线 1265 1206 706
54 394 山东 潍坊办 诸城 诸城城区 1265 1206 706
75 104 河北 石家庄办 石家庄 桥东区 312 312 312
73 66 河北 石家庄办 石家庄 桥西中山路北 312 312 312
74 36 河北 石家庄办 石家庄 桥西中山路南 312 312 312
76 106 河北 石家庄办 石家庄 石家庄直属 312 312 312
43 7 山东 日照办 日照 三庄 1265 59 59
42 44 山东 日照办 日照 涛雒 1265 59 59
41 8 山东 日照办 日照 西湖 1265 59 59
51 127 山东 潍坊办 潍坊 潍坊城区1 1265 1206 500
52 185 山东 潍坊办 潍坊 潍坊城区2 1265 1206 500
53 188 山东 潍坊办 潍坊 潍坊城区3 1265 1206 500
56 174 山东 潍坊办 诸城 乡镇东线 1265 1206 706
55 138 山东 潍坊办 诸城 乡镇西线 1265 1206 706
54 394 山东 潍坊办 诸城 诸城城区 1265 1206 706
75 104 河北 石家庄办 石家庄 桥东区 312 312 312
73 66 河北 石家庄办 石家庄 桥西中山路北 312 312 312
74 36 河北 石家庄办 石家庄 桥西中山路南 312 312 312
76 106 河北 石家庄办 石家庄 石家庄直属 312 312 312
*,
(Select SUM(ShopCount) From 表 Where region = A.region) As RegionCount,
(Select SUM(ShopCount) From 表 Where office = A.office) As RegionCount,
(Select SUM(ShopCount) From 表 Where city = A.city) As RegionCount
From
表 A
declare @ta table(id int,ShopCount int, region varchar(5),office varchar(10),city varchar(10),area varchar(20))
insert @ta select 43, 7, '山东', '日照办', '日照', '三庄'
insert @ta select 42, 44, '山东', '日照办', '日照', '涛雒'
insert @ta select 41, 8, '山东', '日照办', '日照', '西湖'
insert @ta select 51, 127, '山东', '潍坊办', '潍坊', '潍坊城区1'
insert @ta select 52, 185, '山东', '潍坊办', '潍坊', '潍坊城区2'
insert @ta select 53, 188, '山东', '潍坊办', '潍坊', '潍坊城区3'
insert @ta select 56, 174, '山东', '潍坊办', '诸城', '乡镇东线'
insert @ta select 55, 138, '山东', '潍坊办', '诸城', '乡镇西线'
insert @ta select 54, 394, '山东', '潍坊办', '诸城', '诸城城区'
insert @ta select 75, 104, '河北', '石家庄办', '石家庄', '桥东区'
insert @ta select 73, 66, '河北', '石家庄办', '石家庄', '桥西中山路北'
insert @ta select 74, 36, '河北', '石家庄办', '石家庄', '桥西中山路南'
insert @ta select 76, 106, '河北', '石家庄办', '石家庄', '石家庄直属' select *,
RegionCount=(select sum(shopcount) from @ta where region=a.region),
OfficeCount=(select sum(shopcount) from @ta where office=a.office),
OfficeCount=(select sum(shopcount) from @ta where city=a.city)
from @ta a
(1 行受影响)(1 行受影响)(1 行受影响)(1 行受影响)(1 行受影响)(1 行受影响)(1 行受影响)(1 行受影响)(1 行受影响)(1 行受影响)(1 行受影响)(1 行受影响)(1 行受影响)
id ShopCount region office city area RegionCount OfficeCount OfficeCount
----------- ----------- ------ ---------- ---------- -------------------- ----------- ----------- -----------
43 7 山东 日照办 日照 三庄 1265 59 59
42 44 山东 日照办 日照 涛雒 1265 59 59
41 8 山东 日照办 日照 西湖 1265 59 59
51 127 山东 潍坊办 潍坊 潍坊城区1 1265 1206 500
52 185 山东 潍坊办 潍坊 潍坊城区2 1265 1206 500
53 188 山东 潍坊办 潍坊 潍坊城区3 1265 1206 500
56 174 山东 潍坊办 诸城 乡镇东线 1265 1206 706
55 138 山东 潍坊办 诸城 乡镇西线 1265 1206 706
54 394 山东 潍坊办 诸城 诸城城区 1265 1206 706
75 104 河北 石家庄办 石家庄 桥东区 312 312 312
73 66 河北 石家庄办 石家庄 桥西中山路北 312 312 312
74 36 河北 石家庄办 石家庄 桥西中山路南 312 312 312
76 106 河北 石家庄办 石家庄 石家庄直属 312 312 312(13 行受影响)
(id Int,
ShopCount Int,
region Nvarchar(10),
office Nvarchar(20),
city Nvarchar(30),
area Nvarchar(30))
Insert 表 Select 43, 7, N'山东', N'日照办', N'日照', N'三庄'
Union All Select 42, 44, N'山东', N'日照办', N'日照', N'涛雒'
Union All Select 41, 8, N'山东', N'日照办', N'日照', N'西湖'
Union All Select 51, 127, N'山东', N'潍坊办', N'潍坊', N'潍坊城区1'
Union All Select 52, 185, N'山东', N'潍坊办', N'潍坊', N'潍坊城区2'
Union All Select 53, 188, N'山东', N'潍坊办', N'潍坊', N'潍坊城区3'
Union All Select 56, 174, N'山东', N'潍坊办', N'诸城', N'乡镇东线'
Union All Select 55, 138, N'山东', N'潍坊办', N'诸城', N'乡镇西线'
Union All Select 54, 394, N'山东', N'潍坊办', N'诸城', N'诸城城区'
Union All Select 75, 104, N'河北', N'石家庄办', N'石家庄', N'桥东区'
Union All Select 73, 66, N'河北', N'石家庄办', N'石家庄', N'桥西中山路北'
Union All Select 74, 36, N'河北', N'石家庄办', N'石家庄', N'桥西中山路南'
Union All Select 76, 106, N'河北', N'石家庄办', N'石家庄', N'石家庄直属'
GO
Select
*,
(Select SUM(ShopCount) From 表 Where region = A.region) As RegionCount,
(Select SUM(ShopCount) From 表 Where office = A.office) As RegionCount,
(Select SUM(ShopCount) From 表 Where city = A.city) As RegionCount
From
表 A
GO
Drop Table 表
--Result
/*
id ShopCount region office city area RegionCount OfficeCount CityCount
43 7 山东 日照办 日照 三庄 1265 59 59
42 44 山东 日照办 日照 涛雒 1265 59 59
41 8 山东 日照办 日照 西湖 1265 59 59
51 127 山东 潍坊办 潍坊 潍坊城区1 1265 1206 500
52 185 山东 潍坊办 潍坊 潍坊城区2 1265 1206 500
53 188 山东 潍坊办 潍坊 潍坊城区3 1265 1206 500
56 174 山东 潍坊办 诸城 乡镇东线 1265 1206 706
55 138 山东 潍坊办 诸城 乡镇西线 1265 1206 706
54 394 山东 潍坊办 诸城 诸城城区 1265 1206 706
75 104 河北 石家庄办 石家庄 桥东区 312 312 312
73 66 河北 石家庄办 石家庄 桥西中山路北 312 312 312
74 36 河北 石家庄办 石家庄 桥西中山路南 312 312 312
76 106 河北 石家庄办 石家庄 石家庄直属 312 312 312
*/
A.*,
(Select SUM(ShopCount) From 表 Where region = A.region) As RegionCount,
(Select SUM(ShopCount) From 表 Where office = A.office) As OfficeCount,
(Select SUM(ShopCount) From 表 Where city = A.city) As CityCount
From
表 A
(id Int,
ShopCount Int,
region Nvarchar(10),
office Nvarchar(20),
city Nvarchar(30),
area Nvarchar(30))
Insert 表 Select 43, 7, N'山东', N'日照办', N'日照', N'三庄'
Union All Select 42, 44, N'山东', N'日照办', N'日照', N'涛雒'
Union All Select 41, 8, N'山东', N'日照办', N'日照', N'西湖'
Union All Select 51, 127, N'山东', N'潍坊办', N'潍坊', N'潍坊城区1'
Union All Select 52, 185, N'山东', N'潍坊办', N'潍坊', N'潍坊城区2'
Union All Select 53, 188, N'山东', N'潍坊办', N'潍坊', N'潍坊城区3'
Union All Select 56, 174, N'山东', N'潍坊办', N'诸城', N'乡镇东线'
Union All Select 55, 138, N'山东', N'潍坊办', N'诸城', N'乡镇西线'
Union All Select 54, 394, N'山东', N'潍坊办', N'诸城', N'诸城城区'
Union All Select 75, 104, N'河北', N'石家庄办', N'石家庄', N'桥东区'
Union All Select 73, 66, N'河北', N'石家庄办', N'石家庄', N'桥西中山路北'
Union All Select 74, 36, N'河北', N'石家庄办', N'石家庄', N'桥西中山路南'
Union All Select 76, 106, N'河北', N'石家庄办', N'石家庄', N'石家庄直属'
GO
Select
A.*,
B.RegionCount,
C.OfficeCount,
D.CityCount
From
表 A
Inner Join
(Select region, SUM(ShopCount) As RegionCount From 表 Group By region) B
On A.region = B.region
Inner Join
(Select office, SUM(ShopCount) As OfficeCount From 表 Group By office) C
On A.office = C.office
Inner Join
(Select city, SUM(ShopCount) As CityCount From 表 Group By city) D
On A.city = D.city
GO
Drop Table 表
--Result
/*
id ShopCount region office city area RegionCount OfficeCount CityCount
43 7 山东 日照办 日照 三庄 1265 59 59
42 44 山东 日照办 日照 涛雒 1265 59 59
41 8 山东 日照办 日照 西湖 1265 59 59
51 127 山东 潍坊办 潍坊 潍坊城区1 1265 1206 500
52 185 山东 潍坊办 潍坊 潍坊城区2 1265 1206 500
53 188 山东 潍坊办 潍坊 潍坊城区3 1265 1206 500
56 174 山东 潍坊办 诸城 乡镇东线 1265 1206 706
55 138 山东 潍坊办 诸城 乡镇西线 1265 1206 706
54 394 山东 潍坊办 诸城 诸城城区 1265 1206 706
75 104 河北 石家庄办 石家庄 桥东区 312 312 312
73 66 河北 石家庄办 石家庄 桥西中山路北 312 312 312
74 36 河北 石家庄办 石家庄 桥西中山路南 312 312 312
76 106 河北 石家庄办 石家庄 石家庄直属 312 312 312
*/
declare @ta table(id int,ShopCount int, region varchar(5),office varchar(10),city varchar(10),area varchar(20))
insert @ta select 43, 7, '山东', '日照办', '日照', '三庄'
insert @ta select 42, 44, '山东', '日照办', '日照', '涛雒'
insert @ta select 41, 8, '山东', '日照办', '日照', '西湖'
insert @ta select 51, 127, '山东', '潍坊办', '潍坊', '潍坊城区1'
insert @ta select 52, 185, '山东', '潍坊办', '潍坊', '潍坊城区2'
insert @ta select 53, 188, '山东', '潍坊办', '潍坊', '潍坊城区3'
insert @ta select 56, 174, '山东', '潍坊办', '诸城', '乡镇东线'
insert @ta select 55, 138, '山东', '潍坊办', '诸城', '乡镇西线'
insert @ta select 54, 394, '山东', '潍坊办', '诸城', '诸城城区'
insert @ta select 75, 104, '河北', '石家庄办', '石家庄', '桥东区'
insert @ta select 73, 66, '河北', '石家庄办', '石家庄', '桥西中山路北'
insert @ta select 74, 36, '河北', '石家庄办', '石家庄', '桥西中山路南'
insert @ta select 76, 106, '河北', '石家庄办', '石家庄', '石家庄直属' select a.*, b.ShopCount,c.OfficeCount
from @ta a ,
(select region,ShopCount=sum(ShopCount)
from @ta group by region)b ,
(select office,OfficeCount=sum(ShopCount)
from @ta group by office)c
where a.region=b.region and a.office=c.office
(1 行受影响)(1 行受影响)(1 行受影响)(1 行受影响)(1 行受影响)(1 行受影响)(1 行受影响)(1 行受影响)(1 行受影响)(1 行受影响)(1 行受影响)(1 行受影响)(1 行受影响)
id ShopCount region office city area ShopCount OfficeCount
----------- ----------- ------ ---------- ---------- -------------------- ----------- -----------
43 7 山东 日照办 日照 三庄 1265 59
42 44 山东 日照办 日照 涛雒 1265 59
41 8 山东 日照办 日照 西湖 1265 59
75 104 河北 石家庄办 石家庄 桥东区 312 312
73 66 河北 石家庄办 石家庄 桥西中山路北 312 312
74 36 河北 石家庄办 石家庄 桥西中山路南 312 312
76 106 河北 石家庄办 石家庄 石家庄直属 312 312
51 127 山东 潍坊办 潍坊 潍坊城区1 1265 1206
52 185 山东 潍坊办 潍坊 潍坊城区2 1265 1206
53 188 山东 潍坊办 潍坊 潍坊城区3 1265 1206
56 174 山东 潍坊办 诸城 乡镇东线 1265 1206
55 138 山东 潍坊办 诸城 乡镇西线 1265 1206
54 394 山东 潍坊办 诸城 诸城城区 1265 1206(13 行受影响)