oracle 8.17中
A,B,C...表结构相同均为:id,name,address,sort(分类)的表
希望得到一个视图生成这些表的name,address,sort,怎么做?
在做的过程中有以下几点不明白:
⑴select name from A,B 得到的不是一列而是两列,第一列是A.name而第二列全是B.name的第一个值如:
----------------------------------------------
1 7米9吧 八寨梯田人家
2 CD酒吧 八寨梯田人家
3 奥州戴安娜红酒坊 八寨梯田人家
4 白马茶楼 八寨梯田人家
5 佰金翰 八寨梯田人家
6 宝渝楼 八寨梯田人家
------------------------------------------
为什么?怎么写才合要求?
⑵怎么为数据集取别名:
select name from(select name,address from bus where address='疗养院' or address='沙坝营') where ....写不下去了,因为"select name,address from bus where address='疗养院' or address='沙坝营'"得到的数据集名称定不下来,怎么为"select name,address from bus where address='疗养院' or address='沙坝营'"取别名?
A,B,C...表结构相同均为:id,name,address,sort(分类)的表
希望得到一个视图生成这些表的name,address,sort,怎么做?
在做的过程中有以下几点不明白:
⑴select name from A,B 得到的不是一列而是两列,第一列是A.name而第二列全是B.name的第一个值如:
----------------------------------------------
1 7米9吧 八寨梯田人家
2 CD酒吧 八寨梯田人家
3 奥州戴安娜红酒坊 八寨梯田人家
4 白马茶楼 八寨梯田人家
5 佰金翰 八寨梯田人家
6 宝渝楼 八寨梯田人家
------------------------------------------
为什么?怎么写才合要求?
⑵怎么为数据集取别名:
select name from(select name,address from bus where address='疗养院' or address='沙坝营') where ....写不下去了,因为"select name,address from bus where address='疗养院' or address='沙坝营'"得到的数据集名称定不下来,怎么为"select name,address from bus where address='疗养院' or address='沙坝营'"取别名?
select A.name from A,B where A.id=B.id取别名就更简单了,如:
select a.name from
(select id,name,address
from bus
where address='疗养院'
or address='沙坝营') a,
(select id,name,address
from bus
where address='XXX'
or address='YYY') b
where a.id=b.id
....where ....
select a.name from (select name,address from bus where address='近华浦路') a inner join (select name from bus where address='六路车场') b on a.name=b.name,为什么又不行?
另外“A,B,C...表结构相同均为:id,name,address,sort(分类)的表
希望得到一个视图生成这些表的name,address,sort,怎么做?”您还没回答,就是说把A、B、C....表的name并到一个视图的name中怎么并?
----------
14已用时间: 00: 00: 00.01SQL> create table emp1 as select * from emp;表已创建。已用时间: 00: 00: 00.09SQL> select count(*) from emp1; COUNT(*)
----------
14已用时间: 00: 00: 00.00SQL> create view e as
2 select * from emp
3 union all
4 select * from emp1;视图已建立。已用时间: 00: 00: 00.00SQL> select count(*) from e; COUNT(*)
----------
28已用时间: 00: 00: 00.00
大哥们帮我一把!我等着