SQL> select * from tt1;        ID NAME                 SCORE1
---------- -------------------- ------
         1 aaa                  100SQL> select * from tt2;        ID NAME                 SCORE2
---------- -------------------- ------
         1 aaa                  99
         1 aaa                  90SQL> select A.ID,A.NAME,A.SCORE1,B.SCORE2
  2  from tt1 A , tt2 B
  3  where A.ID = B.ID and A.NAME = B.NAME
  4  /        ID NAME                 SCORE1 SCORE2
---------- -------------------- ------ ------
         1 aaa                  100    99
         1 aaa                  100    90

解决方案 »

  1.   

    SQL> select * from tt1;        ID NAME    MODEL             SCORE1
    ---------- -------------------- ------
             1 aaa     GGG             100SQL> select * from tt2;        ID NAME    MODEL             SCORE2
    ---------- -------------------- ------
             1 aaa     GGG             99
             1 aaa     FFF             90SQL> select A.ID,A.NAME,A.SCORE1,B.SCORE2
      2  from tt1 A , tt2 B
      3  where A.ID = B.ID and A.NAME = B.NAME
      4  /        ID NAME     MODEL            SCORE1 SCORE2
    ---------- -------------------- ------ ------
             1 aaa      GGG            100    99
             1 aaa      FFF            100    90
      

  2.   

    不好意思,是下面一個,我想得到
      ID NAME     MODEL            SCORE1 SCORE2
    ---------- -------------------- ------ ------
             1 aaa      GGG            100    99
             1 aaa      FFF             0     90
      

  3.   

    SQL> Select A.ID,A.NAME,IsNULL(A.SCORE1,0) as SCORE1,B.SCORE2
      2  from tt1 A Right Join tt2 B
      3  where A.ID = B.ID and A.NAME = B.NAME
      4  /
      

  4.   

    SQL> Select A.ID,A.NAME,IsNULL(A.SCORE1,0) as SCORE1,B.SCORE2
      2  from tt1 A Right Join tt2 B
      3  On A.ID = B.ID and A.NAME = B.NAME
      4  /
      

  5.   

    SQL> Select A.ID,A.NAME,IsNULL(A.SCORE1,0) as SCORE1,B.SCORE2
      2  from tt1 A Right Join tt2 B
      3  On A.ID = B.ID and A.NAME = B.NAME
      4  /======================================
    不行,我是在Oracle中執行,IsNULL改成了NVL
      

  6.   

    WangZWang(先来) :我也有這個問題
      

  7.   

    select A.ID,A.NAME,A.MODEL,NVL(B.SCORE1,0),A.SCORE2,0
    from tt2 A , tt1 B
    where A.ID = B.ID(+) and A.NAME = B.NAME(+) AND A.MODEL=B.MODEL(+)
      

  8.   

    select A.ID,A.NAME,
           DECODE(A.MODEL, B.MODEL, A.SCORE1, 0) AS SCORE1,
           B.SCORE2
    from tt1 A , tt2 B
    where A.ID = B.ID and A.NAME = B.NAME
    /