oralce中例如下面这个视图:  Create or replcae view vw_test  as   select  table1.a,table2.b from table left join table2 on table2.id=table1.id;   查询结果:cloumn            table---------------------------------------------------                       a                  table1                       b                 table2

解决方案 »

  1.   

    我看明白楼主的意思了 但是 我觉得用sql做不到 最起码要有函数来实现
    创建一个函数 参数是一个视图和一个列,返回值是含有这个列的第一个表
    函数中先把视图的所有表取出来 然后select colname from tablename 报错说明不在这个表中 继续查询下一个表
    不报错就返回表名
    思路就是这样 具体的楼主自己写吧
      

  2.   

    是这样的,现在有一个视图如上面,我要写一条sql语句,查询的结果是下面这样的的结果,但是这条sql语句不知道怎么写,麻烦各位高手给点意见
      列名   表名
        a     table1
       b     table2
      

  3.   

    Create or replcae view vw_test as
        select column_name,table_name from user_tab_columns where table_name=upper('table1') or  table_name=upper('table2')
    不知道是不是你想要的
      

  4.   

    LZ是不是想用一条SQL查询这个view中使用了几个表,分别是哪些表!
      

  5.   

    不仅如此 楼主还想知道视图中用到了哪些列 每个列属于哪个表
    我今天下午写了一下 只处理了比较简单的视图 就是关联的表不多 只有一个from和一个where的 再多的就很麻烦了
      

  6.   


    --你不就是想知道视图中的列来自于那个表嘛?
    --查看一下view定义语句不就知道了啊!
    select dbms_metadata.get_ddl('VIEW','VW_TEST') from dual;