我有2张表,一张是翻译表:t_translate,一张是需要翻译的表:t_restart,其中,翻译表中有2个字段:dwKey,dwContent,需要翻译的表有3个字段:work,part,depart
其中,需要翻译的字段中的所有字段,保存的都是个int,然后通过不同的数值,进行key的对应,然后输出对应的Content。请问我怎样写,这个既可以照顾到效率,也可以输出多字段的翻译结果,,我试过用多层表查询再连接,效率好差

解决方案 »

  1.   

    结构:
    t_translate:   varchar(16) dwKey , varchar(16) dwContent
    t_Restart:     int(11) work,part,depart 数据:
    t_translate:
    dwkey    dwContent
     0        工作者
     1        指定升职
     2        待业t_Restart:
    work   part   depart 
     0      1       2
     1      2       0
      

  2.   

    通过翻译表查询,得到结果:
    t_Restart: 
    work      part        depart 
    工作者     指定升职      待业 
    指定升职   待业         工作者
      

  3.   

    select t1.dwContent,t2.dwContent,t3.dwContent
    from t_Restart,t_translate t1,t_translate t2,t_translate t3
    where t_Restart.work=t1.dwkey
    and t_Restart.part=t2.dwkey
    and t_Restart.depart=t3.dwkey
      

  4.   

    谢谢,答案是正确,可是我这里在考虑能否提高效率,因为这个表是很大,大概有近万人,,我是做会计软件的,很多时候每个月的结帐,,来回牵扯给条大体意思即可,比如join能否在这里用这样
      

  5.   

    四楼的语句就和 join 是等同的。如果你的t_translate:表上dwkey  是主键的话,则没什么可再优化的了。