这是一个包含条形码的表,它属于不同的仓库。
Barcode | Warehouse
_____________________________
1111111 | A
2222222 | B
1111111 | C
3333333 | A
这是一个包含条形码的表格。
Barcode | Box
_____________________________
1111111 | 0001
2222222 | 0002
每个仓库的可用库存是第一个表中的金额加上框中的所有金额。 仓库A的例子:
Barcode
_________
1111111 (from its warehouse)
3333333 (from its warehouse)
1111111 (from a box)
2222222 (from a box)
这是一个简化的例子。在检索了条形码的总量之后,我将其与许多其他查询和表格交叉以将其转换为人类可读的报告。
确定, 这个想法是服务器端查询。 每个客户端(VBA msaccess)都将检索查询并使用其仓库代码对其进行过滤。
仓库A会这样称呼它:
从finalQuery中选择*,其中仓库就像' A' < ---但它不会工作,因为盒子'条形码避开了仓库领域,因此,他们将被排除在外。 "其中"应该在UNION ALL之前执行。
是否可以使用参数来专门检索仓库的条形码+所有方框'服务器端查询中的条形码?即使用户使用其代码调用最后一个查询,它也应该将参数下推到第一个嵌套查询。
还是其他任何技巧?也许我的计划错了?
在客户端操纵查询的问题在于它变得非常缓慢,因为正如我所说,在加入条形码后,我使用生成的查询来构建其他查询。
希望我能清楚地解释清楚。解释起来有些复杂。我会很感激任何建议,技巧,想法等
谢谢。
答案 0 :(得分:0)
我认为您正在寻找的是JOIN声明。您可以使用公共Barcode
列将Barcode-Warehouse表与条形码框表联系起来。这篇文章是一个很好的解释:http://www.tutorialspoint.com/mysql/mysql-using-joins.htm。
您的服务器端查询最终将是这样的:
SELECT Barcode, Box, Warehouse FROM Barcode-Warehouse LEFT JOIN Barcode-Box USING (Barcode);
这会产生一个结果集,每行都有条形码,盒子和仓库。然后,您的用户可以通过Warehouse过滤该结果,并仅检索他们感兴趣的记录。
答案 1 :(得分:0)
找到解决问题的方法: Can I create view with parameter in MySQL?
我通过添加以下内容来过滤第一个查询:
“仓库=功能()”
当我调用最终查询时,我会按照帖子中的说明添加函数的参数。简单,简单。
谢谢