当前位置: 代码迷 >> Sql Server >> 怎么记录怎么取到自己想要的那行
  详细解决方案

怎么记录怎么取到自己想要的那行

热度:66   发布时间:2016-04-27 12:09:08.0
如何记录如何取到自己想要的那行
我尽量表达的详细一点
表的样式是这样的
 表A
到货时间 物料 供应商
2012-1-1 大米 甲
2012-1-2 大米 甲
2012-1-1 小米 已
2012-1-1 小米 甲
.... .... ....
我想取 所以供应商 所有物料 的第一批的到货时间 把它放到临时表 #b 中
例如 上面的 供应商甲 大米 有两批大米的到货时间 我只想要最早到的那批
到货时间 物料 供应商
2012-1-1 大米 甲
2012-1-1 小米 已
2012-1-1 小米 甲
.... .... ....
 怎样写sql
谢谢了

------解决方案--------------------
SQL code
insert #bselect * from tb awhere 到货时间=(select min(到货时间) from tb b where a.物料=b.物料  and a.供应商=b.供应商)
------解决方案--------------------
SQL code
select * into #bfrom tb twhere not exists(select 1 from tb where 物料=t.物料 and 供应商=t.供应商 and 到货时间<t.到货时间)
------解决方案--------------------
SQL code
select * from tb t where not exsits(select 1 from tb where 供应商=t.供应商 and 到货时间<t.到货时间)
------解决方案--------------------
SQL code
select a.供应商,a.物料,b.到货时间from tb a outer apply(      select top 1 到货时间 from tb where 供应商 = a.供应商 and 物料 = a.物料 order by 到货时间    ) b
  相关解决方案