【发布时间】:2013-12-02 20:47:01
【问题描述】:
我想编写一个访问查询(我认为 SQL 最合适),以便为每个产品检索单个数字或数字总和(如果这些数字绑定到相似日期)。
我的表格如下所示:
Tck1 DeD1 Bdf1
Tck1 DeD2 Bdf2
Tck1 DeD3 Bdf3
Tck2 DeD1 Bdf1
Tck2 DeD1 Bdf2
Tck2 DeD1 Bdf3
Tck2 DeD2 Bdf4
Tck3 DeD1 Bdf1
Tck3 DeD2 Bdf2
如您所见,对于 Tck1 和 Tck2,我只需要检索 Bdf1,但对于 Tck2,我需要对 Bdf1、Bdf2 和 Bdf3 求和
我尝试过(不成功)一些说法:
SELECT Sum([tblB].Bdf) As SumOfBdf
FROM [tblB]
GROUP BY Tck
HAVING (DeD = Min(Ded));
还有:
SELECT Sum([tblB].Bdf) As Expr1
FROM [tblB]
GROUP BY Tck
HAVING (DeD = Min(Ded));
知道我应该改变什么来提取数据吗?谢谢
感谢所有看过它的人,尤其是 Gord。
以下是一句话的答案:
SELECT tblB.Tck, tblB.DeD, Sum(tblB.Bdf) AS SumOfBdf
FROM tblB
GROUP BY tblB.Tck, tblB.DeD
HAVING (((tblB.DeD) In (SELECT Min(tblB.DeD) AS MinOfDeD FROM tblB GROUP BY tblB.Tck;)));
【问题讨论】:
-
您应该将表结构添加到问题中。而且我不明白你说的部分:“或数字的总和,如果这些数字绑定到相似的日期。” - 您是否希望在同一查询中将此作为每个产品的数字总和?在不同的查询中,这很简单。
-
+1 来自@FilipeSilva 的评论 - 此外,一些具有代表性的样本数据和所需结果的示例总是有帮助的。
标签: sql ms-access select group-by sum