如何从进货明细表查询所有的物料的单价变动情况?
进货明细表(虚拟):进货日期 品名 进货数量单价 金额
2008-1-2 a1 100 1
2008-1-5 a1 50 1
2008-1-10 b1 200 2
2008-1-30 a2 100 3
2008-1-30 b1 150 2.1
2008-1-30 c1 50 4
2008-2-3 b2 100 5
2008-2-3 c2 30 6
2008-2-5 a1 200 1.2
2008-2-9 a2 100 3.3
2008-2-9 b2 150 5.1
2008-2-15 b1 100 2.2
2008-2-15 c1 80 3.9
2008-2-20 c2 50 5.8
...
...
...
要求:如果品名和单价相同,就算重复,只显示最后日期的记录。并按品名(升)和日期(降)排序。
目的:就是想一目了然地浏览物料的价格变动情况
正确结果应该如下:
品名 进货日期 单价
a1 2008-2-5 1.2
a1 2008-1-5 1
a2 2008-2-9 3.3
a2 2008-1-30 3
b1 2008-2-15 2.2
b1 2008-1-30 2.1
b1 2008-1-10 2
b2 2008-2-5 5.1
b2 2008-2-3 5
c1 2008-2-15 3.9
c1 2008-1-30 4
c2 2008-2-20 5.8
c2 2008-2-3 6
请高手提供解决的SQL代码,最好连思路也提供!
谢谢!
应该有不少人碰到同样的问题,网上搜索不到很明确的答案,特别求助! 不能写个存储过程实现吗? 懒得写了,上网上搜索一下,如何删除重复行的sql吧。 回复 1# jeep_driver
SELECT MAX(进货日期) AS Expr1, 品名, 单价
FROM进货明细表
GROUP BY 品名,单价
然后把取到的值进行排序
页:
[1]