首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

两表合并生成统计表,该怎么处理

2012-03-08 
两表合并生成统计表房屋表:let房屋编号镇xxx小花园村C-47-7xxxxxx小花园村C-9-1xxxxxx河东村C-9-1xxxxxx妙

两表合并生成统计表
房屋表:let
房屋编号                                         镇    
xxx小花园村C-47-7                       xxx
xxx小花园村C-9-1                         xxx
xxx河东村C-9-1                             xxx
xxx妙胜村A-29-1                           xxx
xxx河东村B-2-3                             xxx
xxx河东村C-8-2                             xxx
xxx河东村A-15-2                           xxx
zzz史家码村A-62-1                       zzz
zzz史家码村B-74-6                       zzz
zzz史家码村B-49-1                       zzz
zzz黎明村B-37-4                           zzz
zzz黎明村B-38-4                           zzz

镇,村town
镇                                   村
xxx                                 小花园村
xxx                                 河东村
xxx                                 妙胜村
zzz                                 史家码村
zzz                                 黎明村
---------------------------------------
怎么生成这样的统计表:这样应该是村统计表
    镇                                   村                           房屋数            
xxx                                 小花园村                       2
xxx                                 河东村                           4
xxx                                 妙胜村                           1
zzz                                 史家码村                       3
zzz                                 黎明村                           2



谢谢了!!

[解决办法]
Select
A.镇,
A.村,
Count(B.房屋编号) As 房屋数
From
town A
Inner Join
let B
On B.房屋编号 Like A.镇 + A.村 + '% '
Group By
A.镇,
A.村
[解决办法]
create table let(房屋编号 varchar(50),镇 varchar(10))
insert into let
select 'xxx小花园村C-47-7 ', 'xxx '
union all select 'xxx小花园村C-9-1 ', 'xxx '
union all select 'xxx河东村C-9-1 ', 'xxx '
union all select 'xxx妙胜村A-29-1 ', 'xxx '
union all select 'xxx河东村B-2-3 ', 'xxx '
union all select 'xxx河东村C-8-2 ', 'xxx '
union all select 'xxx河东村A-15-2 ', 'xxx '
union all select 'zzz史家码村A-62-1 ', 'zzz '
union all select 'zzz史家码村B-74-6 ', 'zzz '
union all select 'zzz史家码村B-49-1 ', 'zzz '
union all select 'zzz黎明村B-37-4 ', 'zzz '
union all select 'zzz黎明村B-38-4 ', 'zzz '

create table town(镇 varchar(10),村 varchar(20))
insert into town
select 'xxx ', '花园村 '
union all select 'xxx ', '河东村 '
union all select 'xxx ', '妙胜村 '
union all select 'zzz ', '史家码村 '
union all select 'zzz ', '黎明村 '

select town.镇,town.村,(select count(*) from let where let.镇=town.镇 and charindex(town.村,let.房屋编号)> 0)
from town

热点排行