表A fid:主键,fbid:外键;fname,fdate:修改时间;foldid:修改前的A主键
表B fid:主键,fname,fdate:修改时间;foldid:修改前的B主键
现在要查询表A所有记录,包括关联的表B的fname字段

解决方案 »

  1.   

    select a.*,b.fname
    from a
    left join b on a.fbid=b.fid
      

  2.   

    举个例子吧:
    表B:  1  B1 09-01-02 0
          2  BB1 09-03-04 1
          3  BB2 09-09-01 1
    表A:
         1  1  A 09-03-05 0
    2楼可能看明白意思吧,挺麻烦的
      

  3.   

    结果 1 BB1 A 09-03-05 0
      

  4.   

    cross join:是笛卡儿乘积,在没有任何条件约束下就是一张表的行数乘以别一张表的行数。
    left join:返回“表名1”的全部行,对于“表名2”中,不满足on条件的记录用空值替换。
    rigth join:返回“表名2”的全部行,对于“表名1”中,不满足on条件的记录用空值替换。
    full join:返回两张表中的所有记录,对于不满足on条件一端的记录用空值替换。
    inner jon:只返回两张表中都满足on条件的记录
      

  5.   


    select a.fid,t.fname,a.fname,a.fdate,a.foldid
    from a,
    (select b.*
    from b,(select foldid,min(fdate) fdate from b group by foldid)c
    where b.foldid=b.foldid and b.fdate=c.fdate)t
    where a.fid=t.foldid