有三张张表T1,T2,T3;T2,T3都有属性QDRQ和YHBH以及YWBH,T1有QDRQ和YWBH;SQL: select T1.QDRQ, T1.YWBH, T2.YHBH from T1, T2 where T1.QDRQ = T2.QDRQ(+) and T1.YWBH = T2.YWBH(+), 如何实现当查出来的T2.YWBH为空时,把所有T3中对应的QDRQ、YWBH相同的记录都查出来呢,也就是T2中没有的记录在T3全部找出来

解决方案 »

  1.   

    就像select T1.QDRQ qdrq, T1.YWBH, T2.YHBH yhbh from T1, T2 where T1.QDRQ = T2.QDRQ(+) and T1.YWBH = T2.YWBH(+),加个case  yhbh is NULL then yhbh = T3.YHBH else yhbh = T2.YHBH end 就这么个意思
      

  2.   

    T1(QDRQ, YWBH)
    T2(QDRQ, YWBH, YHBH)
    T3(QDRQ, YWBH, YHBH)兄弟,讲的像绕口令,我大概理解如下,请参考:SELECT T1.QDRQ qdrq, T1.YWBH, T4.YHBH yhbh
    FROM T1,
    (
    SELECT * FROM T2
    UNION 
    SELECT * FROM T3
    ) T4
    WHERE T1.QDRQ = T4.QDRQ(+) 
    AND T1.YWBH = T4.YWBH(+);