如何将两台SQL服务器上的两个表mt_keh与mt_pingm连结显示。第一台SQL服务名称为dg_data, 用户名sa, 密码m12345, 表mt_keh(有两个字段id_keh, keh_j)
第二台SQL服务名称为sz_data, 用户名sa, 密码p88888, 表mt_pingm(有三个字段id_keh, id_pingm, pingm)现在想将两个表连结显示出如下结果:select a.id_pingm, a.pingm, b.keh_j
from bmt_pingm a
left outer join bmt_keh b on a.id_keh=b.id_keh
where b.id_keh is not null请问这个SQL语句应该如何写?

解决方案 »

  1.   


    SELECT a.*
    FROM OPENROWSET('SQLOLEDB','seattle1';'sa';'MyPass',
       'SELECT * FROM bmt_keh) AS a
    select   a.id_pingm,   a.pingm,   b.keh_j 
    from   OPENROWSET('SQLOLEDB','dg_data';'sa';'MyPass',
       'SELECT * FROM bmt_pingm') a 
    left   outer   join   OPENROWSET('SQLOLEDB','sz_data';'sa';'MyPass',
       'SELECT * FROM bmt_keh)   b   
    on   a.id_keh=b.id_keh 
    where   b.id_keh   is   not   null 
      

  2.   

    select   a.id_pingm,   a.pingm,   b.keh_j 
    from   OPENROWSET('SQLOLEDB','dg_data';'sa';'MyPass',
       'SELECT * FROM bmt_pingm') a 
    left   outer   join   OPENROWSET('SQLOLEDB','sz_data';'sa';'MyPass',
       'SELECT * FROM bmt_keh)   b   
    on   a.id_keh=b.id_keh 
    where   b.id_keh   is   not   null 
      

  3.   

    SELECT a.*
    FROM 
    OPENROWSET('SQLOLEDB','dg_data';'sa';'MyPass','SELECT * FROM bmt_pingm') a 
    left outer join OPENROWSET('SQLOLEDB','sz_data';'sa';'MyPass','SELECT * FROM bmt_keh') b on a.id_keh=b.id_keh 
    where   b.id_keh   is   not   null 返回结果如下:服务器: 消息 170,级别 15,状态 1,行 3
    第 3 行: ' ' 附近有语法错误。