2个数据库A,B,A中有C表(字段汉字表达表),B中有D表(字段用英文表示),现要把D表中的字段要用C表中的汉字记录表示,如果C中无英文对照的汉字表达,仍用英文表示字段,同时输出记录到DBGird中
eg:
D     name       ID    Class                         C           EnglishStr        ChineseStr
王             1       01                                            name                姓名
输出:姓名      ID     Class
               王        1         01
请高手看看怎样表示
数据库A为MSSQL,数据库B为Access,采用ADOQuery查询

解决方案 »

  1.   

    数据库A(SQLSERVER):
    表C: EnglishStr, ChineseStr数据库B(ACCESS)(我把它放在C:\):
    表D: NAME, ID, CLASSSelect (Case When (Select Distinct ChineseStr From A Where EnglishStr =  TAccess.Name) Is Not Null Then 
                      (Select Distinct ChineseStr From A Where EnglishStr =  TAccess.Name) Else 
                       TAccess.Name End) 姓名, TAccess.ID, TAccess.Class
    From (SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'C:\B.mdb';'admin';'', D)) TAccess.....注意我假定ADOQUERY的CONNECTION是SQLSERVER
      

  2.   

    对不起, 上面的A应为C Select (Case When (Select Distinct ChineseStr From C Where EnglishStr =  TAccess.Name) Is Not Null Then 
                      (Select Distinct ChineseStr From C Where EnglishStr =  TAccess.Name) Else 
                       TAccess.Name End) 姓名, TAccess.ID, TAccess.Class
    From (SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'C:\B.mdb';'admin';'', D)) TAccess.....注意我假定ADOQUERY的CONNECTION是SQLSERVER的数据库A
      

  3.   

    呵呵,再Try一下吧。谢谢给分