有两个表
表a
字段stcd ,stnm
例如:
1,qq
2,ww
3,ee
表b
字段upstcd,dwstcd (注upstcd和dwstcd 的值和表a 的stcd 一样)
例如:
1,3
2,3现在要得到这样的结果(下面的upstnm,dwsrnm是别名):
upstcd ,upstnm, dwstcd,dwstnm
1     ,qq   ,3     ,ee
2     ,ww   ,3     ,ee

解决方案 »

  1.   

    select 
        b.upstcd,
        upstnm=c.stnm,
        b.dwstcd,
        dwstnm=d.stnm
    from
        表b b,
        表a c,
        表a d
    where
        b.upstcd=c.stcd
        and
        b.dwstcd=d.stcd
      

  2.   

    select b.upstcd,a1.stnm as upstnm,
    b.dwstcd,a2.stnm as dwstnm 
    from b,a a1,a a2
    where b.upstcd=a1.stcd
    and b.dwstcd=a2.stcd
      

  3.   

    表a
    字段stcd ,stnm
    例如:
    1,qq
    2,ww
    3,ee
    表b
    字段upstcd,dwstcd (注upstcd和dwstcd 的值和表a 的stcd 一样)
    例如:
    1,3
    2,3现在要得到这样的结果(下面的upstnm,dwsrnm是别名):
    upstcd ,upstnm, dwstcd,dwstnm
    1     ,qq   ,3     ,ee
    2     ,ww   ,3     ,ee
    -----------
    RE:
    select D.upstcd upstcd ,D.stnm upstnm,C.stcd dwstcd,C.stnm dwstnm 
    from A C
    inner join 
    (
    select stcd ,stnm,upstnm
    from A
    inner join B
    on A.stcd=B.upstcd
    ) D
    on C.stcd =D.upstnm