A表中有两字段同时关联B表中的一个字段,例如:
A表有:编号\姓名\人员原类别编号\异动后类别编号 四个字段
B表有:类别编号\类别名称 两个字段
我现在想用一条SQL语句产生一个记录集,也就是结构类别于A表,将类别编号换为类别名称.
不知该怎么写?

解决方案 »

  1.   

    selsect b.类别名称,a.姓名,a.人员原类别编号,a.异动后类别编号 
    from a,b where a.编号=b.类别编号
      

  2.   

    对不起,我可能没有说清楚.是A表的人员原类别编号和异动后类别编号关联B表的类别编号.
    例如A表有如下数据:
    人员编号   姓名    人员原类别编号   异动后类别编号
    00000001  王老五          1                 2
    00000002  李小三          1                 3
    00000003  赵大老          2                 4
    ……
    B表有如下数据
    类别编号  类别名称
        1        在职
        2        退休
        3        死亡
        4        调出
    SQL语句执行后的结果:
    人员编号   姓名    人员原类别名称   异动后类别名称
    00000001  王老五          在职            退休
    00000002  李小三          在职            死亡
    00000003  赵大老          退休            调出
      

  3.   

    selsect a.人员编号,a.姓名 b.类别名称 as 人员原类别名称   c.类别名称 as 异动后类别名称
    from a as a,b as b,b as c.
    where  a.人员原类别编号=b.类别编号 and a.异动后类别编号=c.类别编号 
      

  4.   

    呵呵呵!这个你参考一下以前“DBGrid的问题"吧。
      

  5.   

    select a.编号,a.姓名,原类别 = b.类别名称, 异动后类别 = b.类别名称
    from a, b
    where a.人员原类别编号 *= b.类别编号
    a.异动后类别编号*= b.类别编号
    (以sqlserver为例)
      

  6.   

    不好意思,错了,应该是:
    select a.编号,a.姓名,原类别 = b1.类别名称, 异动后类别 = b2.类别名称
    from a, b b1, b b2
    where a.人员原类别编号 *= b1.类别编号
    a.异动后类别编号*= b2.类别编号
    (以sqlserver为例)
      

  7.   

    在下提供一笨辦法,以供各位dx討論!
    select stu.s_no as 編號,stu.s_name as 姓名,
    (select type.type_name from type where stu.log_no1=type.type_no) as 類別1,
    (select type.type_name from type where stu.log_no2=type.type_no) as 類別1
    from stu本人試過其可用性,但速度未測,請各位DX指教
      

  8.   

    sql语句你也问,
    这个应该是你自己掌握的!不会的,自己多琢磨琢磨,提高很快的!希望你能进步