我在Access 2010中有一个数据库。
A有一个包含一些字段的表。其中三个是“输入”,“输出”和“日期”。 A也有总数量查询。
我想总结所有具有相同“日期”的“输入”值,并且我还要将具有相同“日期”的所有“输出”相加。
我希望我的查询找到扣除结果(“输入” - “输出”具有相同的“日期”)。
我的问题是如何关联具有相同“日期”值的不同插入。
请帮忙吗?
编辑:
input output date
3 0 2/5/2012
4 0 8/5/2012
0 2 2/5/2012
0 1 8/5/2012
我希望我的查询显示
available stock date
(3-2=) 1 2/5/2012
(4-1=) 3 8/5/2012
EDITED v2:
我的sql代码是
SELECT SUM(warehouse.in_quant)-SUM(warehouse.out_quant) AS SUM,
drugs.active_substance, drugs.strength, drugs.strength_type, drugs.dosage_form,
warehouse.available_stock, drugs.minimum_quantity, IIf([warehouse]![available_stock]
[drugs]![minimum_quantity],"YES!","No") AS DiplayText, warehouse.curr_date
FROM drugs INNER JOIN warehouse ON drugs.ID = warehouse.drug_id;
我收到此消息:
您尝试执行的查询不包含指定表达式“active_substance”作为聚合函数的一部分。
当我删除SUM(warehouse.in_quant)-SUM(warehouse.out_quant)AS SUM时,它可以正常工作。
答案 0 :(得分:1)
转到查询设计窗口,添加相关表格,将要匹配的字段从一个表格拖到下一个表格。测试。如果它不是您想要的,请将sql发布回此处,并提供示例数据和问题解释。
SELECT i.Input-o.Output As Stock, i.Date
FROM (SELECT Input FROM Table
WHERE Input > 0) i
LEFT JOIN
(SELECT Output FROM Table
WHERE Output > 0) o
ON i.Date = o.Date
你可能需要更复杂的东西,但这应该是一个开始,希望。
重新评论
SELECT drugs.active_substance,
drugs.strength,
drugs.strength_type,
drugs.dosage_form,
warehouse.available_stock,
drugs.minimum_quantity,
warehouse.curr_date,
SUM(warehouse.in_quant)-SUM(warehouse.out_quant) AS SUMQty
FROM drugs
INNER JOIN warehouse ON drugs.ID = warehouse.drug_id
GROUP BY drugs.active_substance,
drugs.strength,
drugs.strength_type,
drugs.dosage_form,
warehouse.available_stock,
drugs.minimum_quantity,
warehouse.curr_date
答案 1 :(得分:1)
我不太确定你要求的是什么,但是要按照你应该使用group by子句的日期求和值
SELECT SUM(input) - SUM(output) as 'Input - Output', date
FROM myTable
GROUP BY date
Here就是我想你想做的一个例子。