首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

新手求解。该如何解决

2012-03-27 
新手求解。有采购记录表tb,记录了每个商品每次的采购日期,价格等,怎样才能得到每个商品的最后一次采购日期

新手求解。
有采购记录表tb,记录了每个商品每次的采购日期,价格等,怎样才能得到每个商品的最后一次采购日期和价格。

品名 价格 日期

商品A 10 2011-01-05
商品B 5 2011-02-01
商品A 8 2011-03-02
商品C 7 2011-03-05
商品C 8 2011-04-05

[解决办法]
SELECT * FROM TB T WHERE 日期=(SELECT MAX(日期) FROM TB WHERE 品名=T.品名)
[解决办法]

SQL code
create table #tb (品名 varchar(20),价格 int,日期 date)insert into #tb select '商品A', 10, '2011-01-05'union all select '商品B', 5, '2011-02-01'union all select '商品A', 8, '2011-03-02'union all select '商品C', 7, '2011-03-05'union all select '商品C', 8, '2011-04-05'goselect a.品名,b.价格,a.日期 from (select 品名,MAX(日期)日期 from #tb group by 品名) a right join #tb b on a.品名=b.品名 and a.日期=b.日期 where a.品名 is not nullorder by a.品名结果为:品名    价格    日期商品C    8    2011-04-05商品B    5    2011-02-01商品A    8    2011-03-02 

热点排行