求SQL语句table   :   a   (id,,amout,qty)   //   id为主键   ,金额 
table   :   b   (id,,amout,qty,date)   //   +   id   为主键   ,同一个id可能有多条记录,也可能为0记录,
想得到结果是,A表和B相关键,取B表中想同ID号日期最新的值。同时要求A的ID 和B的ID相同,及A的,和B的 也要相同

解决方案 »

  1.   

    select a.id,max(b.date) from a a,b b where a.id=b.id and a.=b. group by a.id
      

  2.   

    写错了,table : b ID不是主键
      

  3.   

    select b.id,b.date,b.amout from a,b where a.id=b.id(+) and a.=b.(+) and b.date>=max(b.date);
      

  4.   


    select tmpb.id, tmpb., tmpb.amount,tmpb.qty, tmpb.maxdate from a a ,(select id,,amount,qty,max(date) over(partition by id) maxdate from b) tmpb where a.id=tmpb.id and a.=tmpb.
      

  5.   

     SELECT *
       FROM (SELECT ROW_NUMBER() OVER(PARTITION BY B.id, B. ORDER BY B.date DESC) AS ROWNO FROM table_B B
              WHERE EXISTS (SELECT 1  FROM table_A A
                      WHERE A.id = B.id
                        AND A. = B.))
      WHERE ROWNO = 1