微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

按sku分组,最大日期为SQL

如何解决按sku分组,最大日期为SQL

您可以添加其他逻辑以获取最后日期。一种方法是在WHERE子句中添加相关的子查询

SELECT s.PROD_CODE AS Sku, l.REC_DATE AS [Last Date],  li.COST AS Cost
FROM (dbo_LOTS as l INNER JOIN
      dbo_SKU as si
      ON l.SKU_ID = s.SKU_ID
     ) INNER JOIN
     dbo_LOT_ITEM as li
     ON l.LOT_ID = li.LOT_ID
WHERE l.REC_DATE = (SELECT MAX(l2.REC_DATE)
                    FROM dbo_LOTS as l2
                    WHERE l2.SKU_ID = l.SKU_ID
                   );

解决方法

我知道这在这里被问了很多,而且我尝试使用其他示例并入我自己的示例,但是我似乎无法完成这项工作。

我有sku,日期和费用列,我想查看所有3列,但仅按最大日期(按sku分组)查看。目前:

Sku   Date     Cost
1     06/24/15 .01
1     02/22/14 .02
2     06/24/15 .04
2     02/22/14 .05

需要:

Sku   Date     Cost
1     06/24/15 .01
2     06/24/15 .04

这是我的SQL的样子:

SELECT dbo_SKU.PROD_CODE AS Sku,dbo_LOTS.REC_DATE AS [Last Date],dbo_LOT_ITEM.COST AS Cost
FROM (dbo_LOTS INNER JOIN dbo_SKU ON dbo_LOTS.SKU_ID = dbo_SKU.SKU_ID) 
INNER JOIN dbo_LOT_ITEM ON dbo_LOTS.LOT_ID = dbo_LOT_ITEM.LOT_ID;

这是设计视图的外观(我更是一个视觉化的人): 设计视图

这是第二周的自学,如何操作Access以及它如何工作,所以如果我们能用蜡笔画出如何正确完成此工作的方法,那就太好了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。