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='沙坝营'"取别名?

解决方案 »

  1.   

    你这是多表关联的问题,关联要有关联条件,不如这些表的id相同关联:
    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 ....
      

  2.   

    您上面提到的 别名懂了。但:
    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中怎么并?
      

  3.   

    SQL> select count(*) from emp;  COUNT(*)
    ----------
            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
      

  4.   

    select name from daiwei union all select name from diancai union all select name from KTV union all .....select ....union all ....Union all 懂了,有100个表行吗?这么写太繁了,有什么更好的方法吗?
      

  5.   

    只有union all 才能满足类似的需求
      

  6.   

    怎么没人理我?还有视图中的sort(分类)怎么办,就是Union中的表名怎么加到视图中?
    大哥们帮我一把!我等着