乡镇代码 统计单位 面积
1 1 0.9 1乡镇合计
1 1 0.8 1乡镇 1村
1 2 0.1 1乡镇 2村
2 2 0.7 2乡镇 合计
我想通过下面这个表(地名表)生成新表
乡镇名 村名 乡镇代码 村代码
公岭 岭头 1 1
公岭 岭南 1 2
番于 塘下 2 1
番于 上头 2 2
把上表的统计单位乡镇代码,和村代码改为村名,乡镇名
统计单位 面积
公岭 0.9 --合计
岭头 0.8 --分1村
岭南 0.1 --分2村
番于 0.7 --合计
1 1 0.9 1乡镇合计
1 1 0.8 1乡镇 1村
1 2 0.1 1乡镇 2村
2 2 0.7 2乡镇 合计
我想通过下面这个表(地名表)生成新表
乡镇名 村名 乡镇代码 村代码
公岭 岭头 1 1
公岭 岭南 1 2
番于 塘下 2 1
番于 上头 2 2
把上表的统计单位乡镇代码,和村代码改为村名,乡镇名
统计单位 面积
公岭 0.9 --合计
岭头 0.8 --分1村
岭南 0.1 --分2村
番于 0.7 --合计
解决方案 »
- 求一条SQL语句
- 求助!!!!!!
- 大家进来帮帮我吧,很容易的题目
- 请问下面这条语句什么错误????
- 救急!!!SQL Server不存在或访问被拒绝ConnectionOpen (Connect()).
- 为什么银行网络数据有时数据查不到呢?
- 询问一下关于使用过sql2005和sql2000的朋友,关于高性能分页的问题,追求最高性能分页
- insert操作 链接数据库
- MS SQL Server 中,怎样由MySchool.mdf和MySchool.ldf两个文件恢复数据库MySchool?
- 一个有些复杂的问题。关于sql2000的(分数不够可以增加)
- 复杂统计,请高手帮忙,谢谢!
- 这种情况如何对月份分组后取值?
insert into A values(1, 1,0.9)
insert into A values(1, 1,0.8)
insert into A values(1, 2,0.1)
insert into A values(2, 2,0.7)
create table B(乡镇名 varchar(10),村名 varchar(10),乡镇代码 int, 村代码 int)
insert into B values('公岭', '岭头', 1, 1)
insert into B values('公岭', '岭南', 1, 2)
insert into B values('番于', '塘下', 2, 1)
insert into B values('番于', '上头', 2, 2)
go
select B.乡镇名,max(面积) 面积 from A,B where A.乡镇代码 = B.乡镇代码 group by B.乡镇名
union all
select B.村名,A.面积 from A,B where A.乡镇代码 = B.乡镇代码 and A.统计单位 = B.村代码
and cast(B.乡镇代码 as varchar) + cast(A.面积 as varchar) not in
(select cast(乡镇代码 as varchar) + cast(面积 as varchar) from
(select 乡镇代码,max(面积) 面积 from A group by 乡镇代码) t)
order by 乡镇名drop table A,B/*
乡镇名 面积
---------- --------------------
番于 .7
公岭 .9
岭南 .1
岭头 .8
(所影响的行数为 4 行)
*/