表A,和表B
表A.c=表B.c,c字段内容有些是一致的。
想得到表A的所有记录,如果表B的c字段中有和表A.c相等的,则把B的另一个字段加上。应该是:
select * from A left join B on A.c=B.c但是得到的记录比A的总记录大不少。
哪里出问题了呢?

解决方案 »

  1.   

    select * from A left join B on A.c=B.c这样么错
      

  2.   


    如果A中C
    1
    B中有C
    1
    1
    反回肯定是
    1 1
    1  1
    这有什么问题??
      

  3.   

    select * from A left join B on A.c=B.c的结果集肯定是大于等于A表的记录数
      

  4.   

    select * from A left join B on A.c=B.c
    你用的左连接,不管满不满足条件都会显示出A表中的的数据
    用内连接!
    select * from A inner join B on A.c=B.c
    只返回满足条件的记录!
    这样返回的记录就小于A表中的记录
      

  5.   

    用以下語句就可以查出B表的有重複的情況狂select c,count(c) from B group by c having count(c)>1