现在有一张物品表,一张采购表,一张采购明细表
物品表中主要字段有PRODUCTID,productname
采购表有采购时间(updatetime),采购编号(orderID)采购明细表有采购编号(orderID),PRODUCTID,productname比如说应该如何判断在5月份内未采购的物品呢?

解决方案 »

  1.   


    with t
    as(
    select a.*,b.updatetime from 采购明细 a
    inner join 采购表 b
    on a.orderID=b.orderID
    )
    select * from 物品表 a
    where not exists(
    select 1 from t where a.PRODUCTID=b.PRODUCTID and datepart(b.updatetime )=5
    )--try
      

  2.   

    select * from 物品表 a
     where not eixsts(select 1 from 采购表 m,采购明细表n 
       where m.orderID=n.orderID and a.PRODUCTID=n.PRODUCTID and month(m.updatetime)=5)
      

  3.   


    select 1 from 采购表 m,采购明细表n
    这个1作何解释?能说说么
      

  4.   

    select * from 物品表 where 物品编号 not in ( select 物品编号 from 采购明细表 where 采购日期 between 2012-5-1 and 2012-5-31)