table 1
定单号  日期  物料号   成本
01     050606  101       0.5
02     060606   101       .07
03     020606    102     .01
05       050606   102     0.2我想取出物料号中最近日期的成本(还有物料号的其他信息)
101  0.07
102   0.2想了半天 都没解决

解决方案 »

  1.   

    SELECT a.* FROM table1 a
    INNER JOIN
    (SELECT 物料号,MAX(成本) m FROM table1) b
    ON a.物料号=b.物料号 AND a.成本=b.m
      

  2.   

    select a.物料号,a.成本 
    from table1 a join 
    (select 物料号,max(日期) as 日期 from table1 group by 物料号)as b 
    on a.物料号=b.物料号 and a.日期=b.日期
      

  3.   

    Select A.物料号,A.成本 From table1 A 
    Where 日期=(Select Max(日期)  From table1 Where 物料号=A.物料号)
      

  4.   

    嗯。是看错了。取 MAX(日期)就可以了。
      

  5.   

    create table #table1
    (
    定单号 char(2),
    日期 datetime,
    物料号 varchar(10),
    成本 numeric(10,2)
    )
    insert into #table1
    select '01','050606','101',0.5 union all
    select '02','060606','101',0.07 union all
    select '03','020606','102',0.01 union all
    select '05','050606','102',0.2select * from #table1
    select a.* from #table1 a
    inner join (select 物料号,max(日期) 日期 from #table1 group by 物料号)b
          on a.物料号=b.物料号 and a.日期=b.日期
      

  6.   

    描述有误 不好意思因为物料号 和成本各在2张不同的表中
    table A
    物料号 ItemKey   
    101      1
    102      2table B
    定单号 日期   POKey
    2222  050505   301table C    
    POLineKey POKey ItemKey
    501        301   101
    502        301    101
    table  d
    价格   POLineKey 
    0.7      501
    0.2      502
    我想找出每个物料对应的定单的最新的价格
      

  7.   

    Mark==================================
    =  CSDN助手 全面支持CSDN论坛     =
    =  监视、收藏、历史、签名走马灯  =
    ==================================