各位大侠,高手好。
我现在有两个数据库,分别是DB1,DB2,
我想在查询,DB1里面的一个表koufeibiao的PHONE字段,是否在DB2库里jifeibiao里出现过。请问我怎么实现??
请各位高手赐教

解决方案 »

  1.   

    select top 1 * from 数据库名.dbo.表名字该知道怎么办了吧,其余的用法一样如果两个数据库不在一个服务器上,需要用OPENROWSET
    以下是openrowset的用法
    USE pubs
    GO
    SELECT a.*
    FROM OPENROWSET('MSDASQL',
       'DRIVER={SQL Server};SERVER=seattle1;UID=sa;PWD=MyPass',
       pubs.dbo.authors) AS a
    ORDER BY a.au_lname, a.au_fname
    GO
      

  2.   

    select object_name(c.id) as 表名
     ,c.name as 字段名
     ,t.name 数据类型
     ,c.prec as 长度
     ,p.value as 字段说明
     ,m.text as 默认值
    from syscolumns c
     inner join
     systypes t
     on c.xusertype=t.xusertype
     left join 
     sysproperties p
     on c.id=p.id and c.colid = p.smallid
     left join
     syscomments m
     on c.cdefault=m.id
    where objectproperty(c.id,'IsUserTable')=1 
    可以显示数据库所有表的信息如果要达到楼主的要求,只要在后面加上:
    and object_name(c.id)='jifeibiao' and c.name ='PHONE'
      

  3.   

    select * from DB1.dbo.koufeibiao where PHONE in(select PHONE from DB2.dbo.jifeibiao)
      

  4.   

    似乎可以通过openrowset来取记录也可以通过数据库..表名,直接进行查询
      

  5.   

    s查询不同数据库中的表。。select * from DataBaseName.dbo.TableName
    不同服务器的select * from ServerName.DataBaseName.dbo.TableName不过查不同服务器的,首先要建立连接。。