数据库中显示的数据为:
先描述一下,id为自动增长列
我想取出resid相同的最新插入的那条记录,也就是说我需要显示的结果应该是:
可以通过这个SQL来实现:
1.SELECT resid,max(id) id FROM T_PM_MaterialInOutDetail d
WHERE changedate <='2009-04-01' group by resid
这部分SQL是按resid字段分组,把重复的先去掉,因为id是自动增加列,所以可以按照最大的ID一定是最新的记录来取出最新的ID和resid来。
2.select od.id,od.changedate,od.resid,od.num,od.price from T_PM_MaterialInOutDetail od where
exists (
select * from (
SELECT resid,max(id) id FROM T_PM_MaterialInOutDetail d
WHERE changedate <='2009-04-01' group by resid
) inn where inn.id=od.id
) order by id desc
将两部分SQL按照exists关联起来。。用id来关联,取出想要的全部字段。