create table #tt(province nvarchar(20),city nvarchar(20),town nvarchar(20),quantity int)
insert into #tt values('山东','济南','A县',10)
insert into #tt values('山东','济南','B县',20)
insert into #tt values('山东','济南','C县',30)
insert into #tt values('山东','烟台','A县',20)
insert into #tt values('山东','烟台','B县',20)
insert into #tt values('山东','淄博','A县',12)
insert into #tt values('山东','淄博','B县',22)
insert into #tt values('山东','淄博','C县',32)
insert into #tt values('山东','淄博','D县',22)
insert into #tt values('山东','青岛','A县',15)
insert into #tt values('山东','聊城','A县',20)
insert into #tt values('浙江','杭州','A县',14)
insert into #tt values('浙江','杭州','B县',14)
insert into #tt values('浙江','温州','A县',30)
insert into #tt values('浙江','宁波','A县',50)
insert into #tt values('福建','福州','A县',14)
insert into #tt values('福建','福州','B县',15)
insert into #tt values('福建','福州','C县',17)
insert into #tt values('福建','厦门','A县',30)
insert into #tt values('福建','厦门','B县',40)
--每20条记录为一个分界
insert into #tt values('福建','厦门','C县',35)
insert into #tt values('福建','厦门','D县',20)
insert into #tt values('福建','泉州','A县',50)
insert into #tt values('福建','泉州','B县',50)
insert into #tt values('福建','泉州','C县',50)
insert into #tt values('福建','泉州','D县',50)
insert into #tt values('福建','漳州','A县',30)
insert into #tt values('福建','南平','A县',50)
insert into #tt values('福建','龙岩','A县',30)
insert into #tt values('福建','龙岩','B县',30)
insert into #tt values('福建','宁德','A县',50)
insert into #tt values('福建','石狮','A县',50)
insert into #tt values('福建','石狮','B县',50)
insert into #tt values('广东','广州','A县',50)
insert into #tt values('广东','东莞','A县',30)
insert into #tt values('广东','东莞','B县',30)
insert into #tt values('广东','顺德','A县',50)
insert into #tt values('广东','顺德','B县',40)
go--显示处理
select id=identity(int,0,1),* into # from #tt
--order by province,city,town --(如果表中记录没有排序好的,则要加上排序语句)
select province=case when id1=cnt1 then province else '' end
,city=case when id2=cnt2 then city else '' end
,town,quantity
from(
select province,city,town,quantity
,id1=(select count(*) from # where id/20=a.id/20 and province=a.province and id<=a.id)
,cnt1=((select count(*) from # where id/20=a.id/20 and province=a.province)+1)/2
,id2=(select count(*) from # where id/20=a.id/20 and province=a.province and city=a.city and id<=a.id)
,cnt2=((select count(*) from # where id/20=a.id/20 and province=a.province and city=a.city)+1)/2
from # a)a
drop table #
godrop table #tt/*--测试结果province city town quantity
-------------------- -------------------- -------------------- -----------
A县 10
济南 B县 20
C县 30
烟台 A县 20
B县 20
山东 A县 12
淄博 B县 22
C县 32
D县 22
青岛 A县 15
聊城 A县 20
杭州 A县 14
浙江 B县 14
温州 A县 30
宁波 A县 50
A县 14
福州 B县 15
福建 C县 17
厦门 A县 30
B县 40
厦门 C县 35
D县 20
A县 50
泉州 B县 50
C县 50
D县 50
福建 漳州 A县 30
南平 A县 50
龙岩 A县 30
B县 30
宁德 A县 50
石狮 A县 50
B县 50
广州 A县 50
东莞 A县 30
广东 B县 30
顺德 A县 50
B县 40(所影响的行数为 38 行)
--*/
insert into #tt values('山东','济南','A县',10)
insert into #tt values('山东','济南','B县',20)
insert into #tt values('山东','济南','C县',30)
insert into #tt values('山东','烟台','A县',20)
insert into #tt values('山东','烟台','B县',20)
insert into #tt values('山东','淄博','A县',12)
insert into #tt values('山东','淄博','B县',22)
insert into #tt values('山东','淄博','C县',32)
insert into #tt values('山东','淄博','D县',22)
insert into #tt values('山东','青岛','A县',15)
insert into #tt values('山东','聊城','A县',20)
insert into #tt values('浙江','杭州','A县',14)
insert into #tt values('浙江','杭州','B县',14)
insert into #tt values('浙江','温州','A县',30)
insert into #tt values('浙江','宁波','A县',50)
insert into #tt values('福建','福州','A县',14)
insert into #tt values('福建','福州','B县',15)
insert into #tt values('福建','福州','C县',17)
insert into #tt values('福建','厦门','A县',30)
insert into #tt values('福建','厦门','B县',40)
--每20条记录为一个分界
insert into #tt values('福建','厦门','C县',35)
insert into #tt values('福建','厦门','D县',20)
insert into #tt values('福建','泉州','A县',50)
insert into #tt values('福建','泉州','B县',50)
insert into #tt values('福建','泉州','C县',50)
insert into #tt values('福建','泉州','D县',50)
insert into #tt values('福建','漳州','A县',30)
insert into #tt values('福建','南平','A县',50)
insert into #tt values('福建','龙岩','A县',30)
insert into #tt values('福建','龙岩','B县',30)
insert into #tt values('福建','宁德','A县',50)
insert into #tt values('福建','石狮','A县',50)
insert into #tt values('福建','石狮','B县',50)
insert into #tt values('广东','广州','A县',50)
insert into #tt values('广东','东莞','A县',30)
insert into #tt values('广东','东莞','B县',30)
insert into #tt values('广东','顺德','A县',50)
insert into #tt values('广东','顺德','B县',40)
go--显示处理
select id=identity(int,0,1),* into # from #tt
--order by province,city,town --(如果表中记录没有排序好的,则要加上排序语句)
select province=case when id1=cnt1 then province else '' end
,city=case when id2=cnt2 then city else '' end
,town,quantity
from(
select province,city,town,quantity
,id1=(select count(*) from # where id/20=a.id/20 and province=a.province and id<=a.id)
,cnt1=((select count(*) from # where id/20=a.id/20 and province=a.province)+1)/2
,id2=(select count(*) from # where id/20=a.id/20 and province=a.province and city=a.city and id<=a.id)
,cnt2=((select count(*) from # where id/20=a.id/20 and province=a.province and city=a.city)+1)/2
from # a)a
drop table #
godrop table #tt/*--测试结果province city town quantity
-------------------- -------------------- -------------------- -----------
A县 10
济南 B县 20
C县 30
烟台 A县 20
B县 20
山东 A县 12
淄博 B县 22
C县 32
D县 22
青岛 A县 15
聊城 A县 20
杭州 A县 14
浙江 B县 14
温州 A县 30
宁波 A县 50
A县 14
福州 B县 15
福建 C县 17
厦门 A县 30
B县 40
厦门 C县 35
D县 20
A县 50
泉州 B县 50
C县 50
D县 50
福建 漳州 A县 30
南平 A县 50
龙岩 A县 30
B县 30
宁德 A县 50
石狮 A县 50
B县 50
广州 A县 50
东莞 A县 30
广东 B县 30
顺德 A县 50
B县 40(所影响的行数为 38 行)
--*/
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货