新手求解。
有采购记录表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.品名)
[解决办法]
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