一张关于单价的表(供应商id,物料id,物料单价,下单日期,是否使用(1,0),审核日期,核准日期)
现在我要查询的条件:(例如a,d,p 3个供应商),最后的核准日期,在使用中(1)的全部资料
(一个供应商不只一个物料id)

解决方案 »

  1.   

    select * from 表 where 供应商id in (a,d,p) and 核准日期 = '最后的核准日期' and 是否使用 = 1
      

  2.   


    select 供应商id,物料id,物料单价,下单日期,是否使用,审核日期,核准日期
    from tb
    where tb.是否使用 = '1' 
    and exists(select 1 from (select 供应商id,物料id,max(核准日期) as 核准日期
    from tb 
    where 是否使用 = '1' 
    group by 供应商id,物料id)t where t.供应商id = tb.供应商id
    and t.物料id = tb.物料id
    and t.核准日期 = tb.核准日期)
      

  3.   

    select * from 表 where 供应商id in ('a','d','p') 
         and 核准日期 = '最后的核准日期' and 是否使用 = 1
      

  4.   

    select
     * 
    from
     tb t
    where
     供应商id 
    in
     (a,d,p) 
    and
     核准日期 = (select max(核准日期) from tb where 供应商id=t.供应商id)
    and
     是否使用 = 1
      

  5.   

    根据供应商和是否使用来查我会,就是不知道加了最后的核准日期怎么来查
    6楼说的比其他的详细了点,但是查询的结果怎么1个供应商只有1个物料id或许我说的不明确,a,d,p 3个供应商对应的所有物料id,且核准日期是最近的一个,是否使用=13楼还么测试?谢谢各位了,还得再麻烦次
      

  6.   

    3楼加上in(a,d,p)后查询的结果是我要的,谢谢了
    但是那个exists看的不是很明白。