从有两个表a,b中取值
用a.id = b.id(+)的方法进行外联
同时,如果b中没有符合条件的数据的时候,取消外联,直接返回空的结果。
我现在用的方法是,在条件后面加上
And Not b.id Is null
不知道有没有什么好方法?

解决方案 »

  1.   

    select ...
    from a,b
    where a.ID=b.ID(+)不是可以实现吗?
    也许我没有看明白你的意思
      

  2.   

    select *
    from a,b
    where a.id = b.id(+) And Not b.id Is null
    不就等于
    select *
    from a,b
    where a.id = b.id
    了??
    不明白lz想要怎样的数据?
      

  3.   

    select *
    from a,b
    where a.id = b.id(+) And Not b.id Is null
      

  4.   

    如果用
    select *
    from a,b
    where a.id = b.id
    b里面没有数据的时候,也会返回a里面符合条件的record。
    我希望是这个时候返回的0条数据
      

  5.   

    如果用
    select *
    from a,b
    where a.id = b.id
    b里面没有数据的时候,也会返回a里面符合条件的record。
    我希望是这个时候返回的0条数据
    ???
    lz测试给我看看,有这种情况(b里没数据,a也返回数据)吗?
      

  6.   

    这个应该用内连接,就是楼上很多兄弟说的:
    select *
    from a,b
    where a.id = b.id