解决方案 »

  1.   

    关联条件不对啊
    改为a.bid = b.bid
      

  2.   


    select * from A inner join B on a.bid = b.bid 我这样写虽然能查出数据,当是数据时错了,不符合我要查出的数据的要求
      

  3.   


    对对,题目上的关联条件我写错了。现在我改过来了~
    你能解答一下么~
    出现的是什么问题?显示的字段太多?把想显示的字段都一一列举出来就行了
    select  A.aId,A.an,A.al,A.bId,A.aTime,B.bn,B.bl from A inner join B on a.bid = b.bid
      

  4.   


    对对,题目上的关联条件我写错了。现在我改过来了~
    你能解答一下么~
    出现的是什么问题?显示的字段太多?把想显示的字段都一一列举出来就行了
    select  A.aId,A.an,A.al,A.bId,A.aTime,B.bn,B.bl from A inner join B on a.bid = b.bid
    对对,题目上的关联条件我写错了。现在我改过来了~
    你能解答一下么~
    出现的是什么问题?显示的字段太多?把想显示的字段都一一列举出来就行了
    select  A.aId,A.an,A.al,A.bId,A.aTime,B.bn,B.bl from A inner join B on a.bid = b.bid不是这样的,你仔细看我要得出的数据,是要这样的
     aId      an   al     bId       aTime          bn   bl
    1001 | a1 | a1 | 101 | 2014-07-07   |b1 | b1
    1002 | a2 | a2 | 102 | 2014-07-07   |b2 | b2
    1003 | a3 | a3 | 101 | 2014-07-07   |b1 | b1
    1004 | a4 | a4 | 102 | 2014-07-07   |b2 | b2
    1005 | a5 | a5 | 103 | 2014-07-07   |b3 | b3
    1006 | a6 | a6 | 101 | 2014-07-07   |b1 | b1
    如果用 inner join(等值连接) 只返回两个表中联结字段相等的行 ,也就是 select  A.aId,A.an,A.al,A.bId,A.aTime,B.bn,B.bl from A inner join B on a.bid = b.bid这条语句在ORACLE查询查出来的数据会是错的。是查出的数据错了。
    用 left join 和 inner join 出来的结果是一样,当是我拿到SQL Server 2005 里面查询出来的数据有时对的也就是
    aId      an   al     bId       aTime          bn   bl
    1001 | a1 | a1 | 101 | 2014-07-07   |b1 | b1
    1002 | a2 | a2 | 102 | 2014-07-07   |b2 | b2
    1003 | a3 | a3 | 101 | 2014-07-07   |b1 | b1
    1004 | a4 | a4 | 102 | 2014-07-07   |b2 | b2
    1005 | a5 | a5 | 103 | 2014-07-07   |b3 | b3
    1006 | a6 | a6 | 101 | 2014-07-07   |b1 | b1 这样的数据,在ORACLE 查询出很多重复的数据
      

  5.   

    语句本身没问题,请检查数据
    检查B表是否存在bId字段相同的记录