jeep_driver 发表于 2010-05-31 16:17

如何从进货明细表查询所有的物料的单价变动情况?

进货明细表(虚拟):
进货日期       品名   进货数量单价      金额
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代码,最好连思路也提供!
谢谢!
应该有不少人碰到同样的问题,网上搜索不到很明确的答案,特别求助!

wfcjz 发表于 2010-06-01 09:09

不能写个存储过程实现吗?

andkylee 发表于 2010-06-01 09:43

懒得写了,上网上搜索一下,如何删除重复行的sql吧。

admin8776 发表于 2010-06-01 15:51

回复 1# jeep_driver


    SELECT MAX(进货日期) AS Expr1, 品名, 单价
    FROM进货明细表
    GROUP BY 品名,单价
然后把取到的值进行排序
页: [1]
查看完整版本: 如何从进货明细表查询所有的物料的单价变动情况?