SELECT *
FROM table1 t1 LEFT OUTER JOIN table2 t2
   ON t1.a = t2.c
ORDER BY t1.a如果t1.a,t2.c都是null,怎么关联起来?

解决方案 »

  1.   

    你是想都為null的不關聯,還是也要做關聯。不關聯的話,就加上條件 where t1.a is not null如果也要做關聯,那是沒有意義的。
      

  2.   

    我是要,如果都为NULL的话,把他们关联起来
    现在的情况是,他们没有关联,只查出来t1的数据
      

  3.   

    SELECT * 
    FROM table1 t1 LEFT OUTER JOIN table2 t2 
      ON case t1.a when null then '1' end = case t2.c when null then '1' end
    ORDER BY t1.a
    看行不行
    我这里没有ORACLE不能测试
      

  4.   

    SELECT * 
    FROM table1 t1 LEFT OUTER JOIN table2 t2 
      ON case when t1.a = null then '1' end = case when t2.c = null then '1' end 
    ORDER BY t1.a 
    刚才写成SQL的了
      

  5.   

    JUST TRY IT ..
    SELECT *
      FROM TABLE1 T1
      LEFT OUTER JOIN TABLE2 T2 ON NVL(T1.A, 0) = NVL(T2.C, 0)
     ORDER BY T1.A;
     
      

  6.   


    楼上的写得好。。比用case when效率会高点。。
    nvl函数:当ti.a=null的时候置为0.
      

  7.   

    7 楼只是提供一个思路,NVL要转成不可能出现的值,比如-999,否则如果有0的数据,就会多了
      

  8.   

    SELECT *
      FROM TABLE1 T1
      LEFT OUTER JOIN TABLE2 T2 ON NVL(T1.A, ' ') = NVL(T2.C, ' ')
     ORDER BY T1.A;
    这样也可以的,如果都是空,就让‘’= ‘’一样会链接起来的