MS Access - 查询需要帮助

时间:2014-01-17 20:50:45

标签: sql ms-access

我偶然发现了这个网站并立刻坠入爱河。让我说实话,我几乎没有任何关于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  

1 个答案:

答案 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中的函数类似,但这个函数是。

如果这不是你想要的,我希望这足以让你开始。祝你好运。