I think that you must link the table twice

解决方案 »

  1.   

    Your query is correct.  没有其他方法.
      

  2.   

    我想如果将语句稍微做些改动,可能会更好些。
    SELECT ID, ACITY.CITYNAME, ZCITY.CITYNAME
    FROM DLMX MX, CITY ACITY, CITY ZCITY
    WHERE MX.FROMCITYID = ACITY.CITYID(+)
      AND MX.TOCITYID = ZCITY.CITYID(+);
      

  3.   

    SELECT ID, max(decode(MX.FROMCITYID,ACITY.CITYID,ACITY.CITYNAME,''))
             , max(decode(MX.TOCITYID,ACITY.CITYID,ACITY.CITYNAME,''))
    FROM DLMX MX, CITY ACITY
    WHERE MX.FROMCITYID = ACITY.CITYID 
      or  MX.TOCITYID = ZCITY.CITYID
      group by MX.id
    不知道这样可不可以
      

  4.   

    SELECT ID, max(decode(MX.FROMCITYID,ACITY.CITYID,ACITY.CITYNAME,''))
             , max(decode(MX.TOCITYID,ACITY.CITYID,ACITY.CITYNAME,''))
    FROM DLMX MX, CITY ACITY
    WHERE MX.FROMCITYID = ACITY.CITYID 
      or  MX.TOCITYID = ACITY.CITYID
      group by MX.id
    不知道这样可不可以
      

  5.   

    select id,(select CITYNAME from CITY where id=FROMCITYID) ACITYNAME,(select CITYNAME from CITY where id=TOCITYID) ZCITYNAME from DLMX;