比如在一个表中含有ID这一列.现在要找到这个数据库中所有包含有ID列的表.
怎么找?

解决方案 »

  1.   

    是找名字为ID的列,还是找与ID列做了关联的表
      

  2.   

    sp_msforeachtable 'if exists(select 1 from sysobjects a inner join  syscolumns b on a.id=b.id where a.id=object_id(''?'') and  b.name=''id'') 
    select ''?'''
      

  3.   


    SELECT 
    OBJECT_NAME(id) AS TableName
    FROM dbo.syscolumns
    WHERE name = 'ID'
    AND STATUS > 0
      

  4.   

    or 
    select a.name from sysobjects a inner join  syscolumns b on a.id=b.id where b.name='id' and a.xtype='u'
      

  5.   

    chuifengde 
    树上的鸟儿 
    等 级:
     发表于:2007-10-16 14:59:486楼 得分:0 
    or  
    select a.name from sysobjects a inner join  syscolumns b on a.id=b.id where b.name= 'id ' and a.xtype= 'u ' 
    --------------------------------
    这里的x.xtype='u'是指找那些表是吗?
      

  6.   

    GEPIN 
    极品 
    等 级:
     发表于:2007-10-16 14:59:015楼 得分:0 
    SQL code
    SELECT 
        OBJECT_NAME(id) AS TableName
    FROM dbo.syscolumns
    WHERE name = 'ID'
        AND STATUS > 0 
     
    ---------------------------
    想问一下这里的Status>0是什么意思呢?
      

  7.   

    表,视图,存储过程,函数等都放在sysobjects中,xtype=u表示只找表