try:
SELECT HHAO,decode(B.LJIGS,null,A.LJIGS,B.LJIGS)  AS LJIGSBH     
FROM BB_BTIDY A,BB_LJIGS B 
WHERE A.DM_WSZL='SB001' AND A.DM_WSZL=B.DM_WSZL AND A.LJIGSBH=B.LJIGSBH (+)
ORDER BY A.HHAO;

解决方案 »

  1.   

    SELECT HHAO,nvl(B.LJIGS,A.LJIGSBH) AS LJIGSBH     
    FROM BB_BTIDY A,BB_LJIGS B 
    WHERE A.DM_WSZL='SB001' AND A.DM_WSZL=B.DM_WSZL AND A.LJIGSBH=B.LJIGSBH
      

  2.   

    非常遗憾,两位的方法都只能查出B表中有的记录。
    (+)在这里好象不起作用,不知道为什么?
    我现在的表大致如下
       A表                  B表
    LJIGSBH           LJIGSBH     LJIGS
      NULL               1         3*4
       1                 2         4-5
      NULL               3         6*7
      NULL
       2
       3
    最后需要得到
     LJIGSBH  
      NULL  
       3*4    
      NULL  
      NULL
       4-5
       6*7
      

  3.   

    select nvl((select LJIGS from BB_LJIGS where LJIGSBH=a.LJIGSBH),'null')  from BB_BTIDY a
      

  4.   

    SQL> select * from aa;ID FID
    -- ---
    j  0
    2  1
    3  1
    4  2
    5  3
    6  4
    6  5
       7
    1  19 rows selected
    SQL> select (select id from aa where id=a.id and id<>'6') from aa a;(SELECTIDFROMAAWHEREID=A.IDAND
    ------------------------------
    j
    2
    3
    4
    5
    19 rows selectedSQL> select nvl((select id from aa where id=a.id and id<>'6'),'null') from aa a;NVL((SELECTIDFROMAAWHEREID=A.I
    ------------------------------
    j
    2
    3
    4
    5
    null
    null
    null
    19 rows selected