我的进货出货是在通一张表里面,<=4个月没有起作用,这个语句写上之后查出了所有数据
select * from [jydysc].[dbo].[Psi_Goods] where not exists( select * from [jydysc].[dbo].[Psi_Order] where datediff(month,up_time,getdate() ) <= 4 and unitid = KeyId )
[/quote]
select *
from Psi_Goods
where exists(
select * from Psi_Order where 类型 = '入库' and Psi_Order.商品ID = Psi_Goods.商品ID
)
and not exists(
select *
from Psi_Order ck,
(
select 商品ID,max(业务日期) as '业务日期'
from Psi_Order
where 类型 = '入库'
group by 商品ID
) rk
where ck.类型 = '出库'
and ck.商品ID = rk.商品ID
and ck.业务日期 > rk.业务日期
and datediff(month,rk.业务日期,ck.业务日期) <= 4
and ck.商品ID = Psi_Goods.商品ID
)