主表物品名称  物品属性(有几个字段,分别记录不同的属性)   唯一id号
 a               b                                     01
b                b1                                    02
c                c1                                    03
d                 d1                                   04
物品的id           价格              出货日期      经手人
01                  10                11-02        A1
01                   9                11-03        A2
02                   9                11-04        A1
02                   9                11-01        A1
03                   8                10-30        A3 
03                   8                10-29        A4 
现在的需要求是
例出主表中所有物品的最后一条出货明细
物品名称  物品属性(有几个字段,分别记录不同的属性) 物品的id   价格     出货日期     经手人 a                a1                                   01        9      11-03        A2(交易明细的最后一笔)
 b                b1                                   02        9      11-04        A1
 c                c1                                   03        8      10-30        A3 
 d               d1                                  04(没有交易明细也例出来)
               

解决方案 »

  1.   

    SELECT A.* FROM 主表 A LEFT JOIN
    (
    SELECT C.* FROM 物品 C WHERE NOT EXISTS(SELECT 1 FROM 物品 WHERE C.物品的id
    =物品的id AND A.出货日期<=出货日期)) B ON A.物品的id=B.物品的id
      

  2.   

    select a.*,c.*
    from A a,(
    select *
    from B b
    where not exists(select 1 from B where b.id=id and b.日期<日期)
    )c
    where a.id=c.id
      

  3.   

    参考下贴中的多种方法http://topic.csdn.net/u/20091231/16/2f268740-391e-40f2-a15e-f243b2c925ab.html
    [征集]分组取最大N条记录方法征集,及散分....