我现有表的数据如下
规格 入仓数量 出仓数量 结存 上次存 日期
1 364 0 464 100 2002-1-1
2 897 0 997 100 2002-1-1
1 0 300 764 464 2002-1-2
3 231 0 231 0 2002-1-3
规格相同的表示同一产品,我怎么才可以取得每一种产品最后那次记录数据呢,即查询结果如下:
规格 入仓数量 出仓数量 结存 上次存 日期
1 0 300 764 464 2002-1-2
2 897 0 997 100 2002-1-1
3 231 0 231 0 2002-1-3
请问这样的sql语句应该怎么写?我如果要统计每种规格的产品的上月库存余数、本月库存余数、本月入仓数量和本月出仓数量,用一句Sql语句又该如何写呢?谢谢各位了,分不够再加!
规格 入仓数量 出仓数量 结存 上次存 日期
1 364 0 464 100 2002-1-1
2 897 0 997 100 2002-1-1
1 0 300 764 464 2002-1-2
3 231 0 231 0 2002-1-3
规格相同的表示同一产品,我怎么才可以取得每一种产品最后那次记录数据呢,即查询结果如下:
规格 入仓数量 出仓数量 结存 上次存 日期
1 0 300 764 464 2002-1-2
2 897 0 997 100 2002-1-1
3 231 0 231 0 2002-1-3
请问这样的sql语句应该怎么写?我如果要统计每种规格的产品的上月库存余数、本月库存余数、本月入仓数量和本月出仓数量,用一句Sql语句又该如何写呢?谢谢各位了,分不够再加!
select x.* from TableX x left join
(select 规格, max(日期) as MaxDate from tableX group by 规格) t
on t.MaxDate=x.日期 and t.规格=x.规格
(select 规格, max(日期) as MaxDate from tableX group by 规格) t
on t.MaxDate=x.日期 and t.规格=x.规格下面的问题用一条语句可能解决不了,写个存储过程吧
select x.* from TableX x inner join
(select 规格, max(日期) as MaxDate,max(id) as id
from tableX group by 规格) t
on t.MaxDate=x.日期 and t.规格=x.规格 and t.id=x.id
可是这样一来又有新的问题了,得出的结果少了一个产品,这是怎么回事呢?还请指教,谢谢!
而本月库存余数、为本月最晚日期的那笔帐的本月库存余数,
本月入仓数量和本月出仓数量,找出本月的本月入仓数量和本月出仓数量的总和我理解的对吗,如果对的话。
我在给你写SQL