两表合并生成统计表
房屋表: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