我偶然发现了这个网站并立刻坠入爱河。让我说实话,我几乎没有任何关于Access的知识。我告诉我的经理这个,他仍然坚持认为我“可以弄清楚”这是非常怀疑的。所以我在这里寻求帮助..关于这个问题:
SQL代码大师在哪里?哈哈
我有两张桌子,“发现”& “失踪”,都显示了公司内部建筑物的库存调整。 (亚马逊)
我相信我已经弄清了这个过程,但不知道它在Access中的外观......
步骤1:按ASIN分组(基本上是条形码的数字版本)
步骤2:确定两个列表中分组的ASIN的+/-
步骤3:使用TOP功能查找最大的负面调整
两个电子表格中总共有3000多条记录,但希望如果我能弄清楚这个过程那么输入/输出就无所谓了。
我想也许我需要一个唯一的标识符? Bin(位置)+ ASIN(条形码)+数量
正如你所看到的......我一直在思考,组织和祈祷有人可以提供帮助!
以下是“找到”电子表格的虚拟示例,“缺失”电子表格格式完全相同,唯一的区别是“原因代码”下的“M”而不是“F”
希望这是足够的信息,我知道它是一个集群....谢谢你们!
Date FC Application Name IOG ID IOG Name Container Id GL Product Group ASIN Processed By Reason Code Quantity Item Cost
1/5/2014 RIC1 FCICQACountService 1234 Doll Inc. P-1-A101xxx Toy B000000001 unknown1 F -1 12.34
1/5/2014 RIC1 FCICQACountService 1334 Amazon P-1-A101xxx Drugstore B000000002 unknown2 F -1 10.36
1/5/2014 RIC1 FCICQACountService 1432 Amazon P-1-A102xxx Office Product B000000003 unknown3 F -13 50.50
1/5/2014 RIC1 FCICQACountService 1442 Amazon P-1-A102xxx Office Product B000000004 unknown4 F -2 223.62
1/5/2014 RIC1 FCICQACountService 1337 Hope Inc. P-1-A102xxx Office Product B000000005 unknown5 F -1 100.99
答案 0 :(得分:0)
我认为通过“电子表格”,你实际上是指“桌子”。一般来说,在SQL和关系数据库上找到一个好的入门书可能是一个好主意。
但是,你有一个非常好的开始。你已经确定了你想要的东西。请注意,在SQL中,这是您通常所做的;你想要的结果多于你获得它的过程。您的每个要点都会建议您的查询中包含的关键字或函数: 1)“ASIN分组(基本上是条形码的数字版本)”:您可能想要使用GROUP BY
关键字。
2)“确定两个列表中分组的ASIN的+/-”:听起来好像你想在SUM
列出一列。
3)“使用TOP功能查找最大的负面调整”:显然,您已经知道自己需要TOP
。但是,你所缺少的部分是“最大的负面”部分表明你想要使用ORDER BY
,而你想要的是最小的(最大的负数)。这样可以确保右侧排在最前面时排在最前面。
所以把所有这些放在一起,你唯一需要弄清楚的是语法。您的最终查询可能如下所示:
SELECT TOP 1 ASIN, SUM(Quantity) AS TotalQuantity FROM Found GROUP BY ASIN ORDER BY SUM(Quantity);
这将计算具有相同Quantity
的每组行的ASIN
之和,结果将是包含ASIN
和总计{的一组行{1}} {1}}。{1}}然后,它使用总数量对行进行排序,最小(最负)行位于顶部。 Quantity
然后切断所有其他行。如果要查看所有行,可以选择省略ASIN
。
顺便说一句,这个TOP
函数有点特殊。这就是我们所说的聚合功能。那是因为它在很多行中都有一堆值。并非所有函数都与SQL中的函数类似,但这个函数是。
如果这不是你想要的,我希望这足以让你开始。祝你好运。