在建立视图的时候通常要做表的关联

create View View_test
as
select A.ID,A.Name,B.UserID,B.UserName from A,B
where A.UserID=B.UserID
如何得到视图中A.UserID=B.UserID这条关联信息
也就是说我想知道一个视图中是哪些表的哪些字段做了对应关联

解决方案 »

  1.   

    sqlserver2000的管理器中的创建或者修改视图中有图形化的界面可以看到连接的方式和连接的项.另外sqlserver一般是用join来表示连接的,这样更清晰一些.oralce9i后也支持join的方式
      

  2.   

    多谢goneaway(小伍)
    但我要的是在系统表中查询得到
    而不是在企业管理器中看图形界面
    直接使用SQL查询得到
      

  3.   

    sp_depends 显示两个结果集。下面的结果集显示 object 所依赖的对象。列名 数据类型 描述 
    name nvarchar(40) 存在相关性的项目名称。 
    type nvarchar(16) 项目类型。 
    updated nvarchar(7) 是否更新项目。 
    selected nvarchar(8) 项目是否用于 SELECT 语句。 
    column sysname 存在相关性的列或参数。 
    下面的结果集显示依赖 object 的对象。列名 数据类型 描述 
    name nvarchar(40) 存在相关性的项目名称。 
    type nvarchar(16) 项目类型。
      

  4.   

    得到的好像是视图用到的所有字段
    select object_name(a.id) as tablename, a.name as colname
    from syscolumns a join (select * from sysdepends where id = object_id('viewname')) b on a.id = b.depid and a.colid = b.depnumber
      

  5.   

    viptiger(六嘎)
    dulei115() 
    对不起
    你们都误解我的意思了
    使用你们的方法可以得到这样的数据集
    A  ID  
    A  NAME
    A  USERID
    B  USERID
    B  USERNAME
    这样我是可以知道视图中的列是从哪个表得出来的
    但我不知道哪个列和哪个列做了关联,关联信息是我想要得到的
    我是想得到这样的数据集
    A  USERID  B  USERID
      

  6.   

    可不可以查看建立视图的sql语句
      

  7.   

    可以查看SQL的
    但是如果那样的话就要自己分析SQL了
    比较复杂