0

我正在尝试获取客户已售出的所有商品的最后销售价格。我需要的物品只能属于某个类别(租赁)。

我遇到的问题是我不能按日期订购,然后选择不同的,这样它就会给我一个不同项目的列表及其最近的销售价格。

我一直在搞乱使用最终看起来像这样的临时表:

商品编号 | 商品_价格 | 日期

项目1 | 29.00 | 2012-08-29 00:00:00.000

项目1 | 20.00 | 2012-08-29 00:00:00.000

项目2 | .35 | 2012-08-29 00:00:00.000

项目1 | 7.00 | 2012-08-27 00:00:00.000

项目2 | 5.00 | 2012-08-27 00:00:00.000

这是一个按日期排序的临时表,然后按价格排序,然后按项目编号分组。

我现在要做的是从这个临时表中选择不同的项目编号,以便它获取顶部的项目编号和价格并将其放入网格中。所以它看起来像这样:

商品编号 | 商品_价格 | 日期

项目1 | 29.00 | 2012-08-29 00:00:00.000

项目2 | .35 | 2012-08-29 00:00:00.000

如果 item2 在 29 日没有新的销售,它将转到下一个最新日期并抢占该行:

项目2 | 5.00 | 2012-08-27 00:00:00.000

而不是:项目2 | .35 | 2012-08-29 00:00:00.000

我不知道我是否只是在想这个或什么,但它现在给我带来了一段时间的麻烦。任何帮助将不胜感激。

谢谢

4

1 回答 1

0

用于MAX()获取给定项目的最后销售价格,然后仅获取销售日期等于结果的行MAX()

SELECT item_number, item_price, date
FROM tbl t
WHERE date = (SELECT MAX(tmp.date)
              FROM tbl tmp
              WHERE tmp.item_number = t.item_number)
于 2012-08-30T13:58:46.137 回答