感谢各位大虾了:ID 数量 日期 型号
1 3 2011-1-10 1
2 6 2011-1-29 2
3 8 2011-1-13 1
4 3 2011-2-4 3
5 1 2011-3-13 2
6 8 2011-3-16 1
1、需要将额定数量的数据按照型号找出,并且按照先进先出原则(就是时间最早最先出)
比如:数量:10个,型号:1
那么找出的数据:ID 数量 日期 型号
1 3 2011-1-10 1
3 8 2011-1-13 1
1 3 2011-1-10 1
2 6 2011-1-29 2
3 8 2011-1-13 1
4 3 2011-2-4 3
5 1 2011-3-13 2
6 8 2011-3-16 1
1、需要将额定数量的数据按照型号找出,并且按照先进先出原则(就是时间最早最先出)
比如:数量:10个,型号:1
那么找出的数据:ID 数量 日期 型号
1 3 2011-1-10 1
3 8 2011-1-13 1
insert into tb select 1,3,'2011-1-10',1
insert into tb select 2,6,'2011-1-29',2
insert into tb select 3,8,'2011-1-13',1
insert into tb select 4,3,'2011-2-4',3
insert into tb select 5,1,'2011-3-13',2
insert into tb select 6,8,'2011-3-16',1
go
--感觉用ID比较好.如果日期具有唯一性,下面的程序里将id换成日期
select top 1 * into # from tb where 型号 =1 order by id
while (select sum(数量) from #)<10
insert into #
select top 1 * from tb where 型号=1 and id not in(select id from #) order by idselect * from #
/*
ID 数量 日期 型号
----------- ----------- ----------------------- -----------
3 8 2011-01-13 00:00:00.000 1
1 3 2011-01-10 00:00:00.000 1(2 行受影响)*/
go
drop table tb,#
仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表'#'中的标识列指定显式值。麻烦你给说一下,谢谢您了