create view Va
as
select a.*,b.工业占地面积,b.工业总产值,c.教育占地面积,c.教育总产值
from tabel a
left join table2 b on a.市=b.市 and a.县=b.县
left join table3 c on a.市=c.市 and a.县=c.县goselect * from Va
as
select a.*,b.工业占地面积,b.工业总产值,c.教育占地面积,c.教育总产值
from tabel a
left join table2 b on a.市=b.市 and a.县=b.县
left join table3 c on a.市=c.市 and a.县=c.县goselect * from Va
解决方案 »
- ms sql server2005怎么做可以记录下来 "没有足够的系统内存来运行此查询" 的查询语句?
- 一个简单的SQL语句
- 50分,求做个选择题.--最高只给发50.
- sp_cursoropen 的第二个参数,是sql语句,可以是一个存储过程的名不
- 求一SQL语句
- 求一SQL查询语句!
- 获取表结构时,获取不到是否外键字段,高手帮忙。
- 在线急盼指教:在Sqlserver的企业管理器中查询时出现超时的提示,但在查询分析器中查询时就能得到数据,是怎么回事?
- SQL中如何将只将一个表的数据导出???急
- 高手请进,这种要求的SELECT语句怎么实现
- 两个数据库间怎么把一个库的表和数据导到另一个表里
- 一个小问题,不会的兄弟麻烦顶一下
as
select a.市,a.县,a.农业占地面积,a.农业总产值,b.工业占地面积,
b.工业总产值,c.教育占地面积,c.教育总产值
from table1 as a
inner join table2 as b on a.市=b.市 and a.县=b.县
inner join table3 as c on a.市=c.市 and a.县=c.县
,县=isnull(a.县,isnull(b.县,c.县))
,农业占地面积=isnull(a.农业占地面积,0),农业总产值=isnull(a.农业总产值,0)
,工业占地面积=isnull(b.工业占地面积,0),工业总产值=isnull(b.工业总产值,0)
,教育占地面积=isnull(c.教育占地面积,0),教育总产值=isnull(c.教育总产值,0)
from table1 a
full join table2 b on a.市=b.市 and a.县=b.县
full join table3 c on a.市=c.市 and a.县=c.县
from table1 a,table2 b,table3 c
where a.市=b.市 and a.县=b.县 and a.市=c.市 and a.县=c.县
select a.市,a.县,a.农业占地面积,a.农业总产值,b.工业占地面积,b.工业总产值,c.教育占地面积,c.教育总产值 from table1 a
left join table2 b on a.市=b.市 and a.县=b.县
left join table3 c on a.市=c.市 and a.县=c.县
as
select 市,县
,农业占地面积=sum(农业占地面积),农业总产值=sum(农业总产值)
,工业占地面积=sum(工业占地面积),工业总产值=sum(工业总产值)
,教育占地面积=sum(教育占地面积),教育总产值=sum(教育总产值)
from(
select 市,县
,农业占地面积,农业总产值
,工业占地面积=0,工业总产值=0
,教育占地面积=0,教育总产值=0
from table1
union all
select 市,县
,农业占地面积=0,农业总产值=0
,工业占地面积,工业总产值
,教育占地面积=0,教育总产值=0
from table2
union all
select 市,县
,农业占地面积=0,农业总产值=0
,工业占地面积=0,工业总产值=0
,教育占地面积,教育总产值
from table3
)a group by 市,县
Insert into table1
select 'A','a1','10','20'
union all select 'B','b3','3','20'
union all select 'B','b1','7','25'
union all select 'C','c1','12','30'create table table2(市 varchar(10), 縣 varchar(10), 工業占地面積 int, 工業總產值 int)
Insert into table2
select 'A','a1','10','20'
union all select 'B','b3','1','10'
union all select 'B','b1','5','20'
union all select 'C','c1','10','45'create table table3(市 varchar(10), 縣 varchar(10), 教育占地面積 int, 教育總產值 int)
Insert into table3
select 'A','a1','10','20'
union all select 'B','b3','1','25'
union all select 'B','b1','1','20'
union all select 'C','c1','2','10'--顯示
select * from table1
select * from table2
select * from table3--刪除
drop table table1
drop table table2
drop table table3
create view Va
as
select a.*,b.工業占地面積,b.工業總產值,c.教育占地面積,c.教育總產值
from table1 a
left join table2 b on a.市=b.市 and a.縣=b.縣
left join table3 c on a.市=c.市 and a.縣=c.縣
goselect * from Va--結果
市 縣 農業占地面積 農業總產值 工業占地面積 工業總產值 教育占地面積 教育總產值
--------------------------------------------------------------------
A a1 10 20 10 20 10 20
B b3 3 20 1 10 1 25
B b1 7 25 5 20 1 20
C c1 12 30 10 45 2 10
县=isnull(a.县,isnull(b.县,c.县)),
农业占地面积=isnull(a.农业占地面积,0),
农业总产值=isnull(a.农业总产值,0),
工业占地面积=isnull(b.工业占地面积,0),
工业总产值=isnull(b.工业总产值,0),
教育占地面积=isnull(c.教育占地面积,0),
教育总产值=isnull(c.教育总产值,0)
from table1 a
join table2 b on a.市=b.市 and a.县=b.县
join table3 c on a.市=c.市 and a.县=c.县