我正在使用 Excel VBA 中的 Access 查询。我的表包含更通用和专业产品的组合,带有字符串的列,例如:
Mountain bike x2321, 10
Enduro Mountain bike special y3233, 20
Mountain bike a2a321, 10
Skateboard z23233, 10
Skateboard y2dsf3, 10
Skadeboard pro advanced special 20, etc
我想汇总销售值,我想按单独的 TableB 中指定的类别汇总总和,这是一个带有子字符串的字典:(
山地自行车特价,山地自行车滑板专业滑板。
我按降序对表格进行了排序,以便较长的名称出现在较短的名称之前。通过排序,JOIN 将导致 Scateboard pro 在测试 Scateboard 之前将针对任何记录测试是否存在。
我的预期结果是
Mountain bike special Total 20
Mountain bike Total 20
Skateboard pro Total 20
Skateboard Total 20
但是,我的查询总计了所有山地自行车,甚至是特殊的和所有的滑板,甚至是不正确的专业自行车。我希望将它们总结为不同的类别。对我的 TableB 进行降序排序,我的字典没有用。:
Mountain bike special Total 20
Mountain bike Total 40
Skateboard pro Total 20
Skateboard Total 40
我尝试的查询包括使用 LIKE 和通配符进行搜索,如下所示:
SELECT "" As kod, sum(b) As wartosc , TableB.Descr as opis_grupy
FROM TableA LEFT JOIN TableB ON TableA.Descr LIKE (" "+TableB.Descr+" ")
其中 TableA.a 不为空
GROUP BY TableB.Descr
ORDER BY TableB.Descr DESC
不幸的是,这样的查询不能正确求和。我正在考虑使用 FIRST np. http://www.mrexcel.com/forum/excel-questions/417807-sql-join-question-excel-access-only-return-first-join-instance.html(首先是użycie funkcji)但我不知道如何实现它,以便查询应按预期求和。谢谢你帮助我。