我有一个访问表格,格式如下: -
ID | Name | Qty
----+--------+------
1 | A1 | 10
2 | A2 | 20
3 | A1 | 30
4 | A2 | 40
5 | A1 | 50
----+--------+------
我想运行一个查询,该查询将返回Name匹配的每行上面的Qty之和。因此,输出将是: -
ID | Name | Output
----+--------+---------
1 | A1 | 0
2 | A2 | 0
3 | A1 | 10
4 | A2 | 20
5 | A1 | 40
----+--------+----------
我无法编写查询。我想我需要某种递归查询,但我不太熟悉SQL /数据库。
答案 0 :(得分:1)
Access不支持递归。以下查询应该执行您想要的操作(我称之为NameQty表):
SELECT t1.Id,t1.name,sum(t2.Qty)
FROM NameQty t1
LEFT JOIN NameQty t2 ON t1.name=t2.name AND t1.Id>t2.Id
GROUP BY t1.Id,t1.name
ORDER BY t1.Id
我认为您还应该使用除ID以外的其他列来定义"以上"。