为了账号安全,请及时绑定邮箱和手机立即绑定

多个表的 SQL SUM

多个表的 SQL SUM

C#
蝴蝶刀刀 2022-10-15 15:10:14
我正在使用他的代码,但无法正确求和。tblKasse tblKursspielbuchung我调试了我的代码,当我想总结 1 年时,我得到了这个 sql 查询:"SELECT Datum, Sum(Kosten) FROM tblKursspielbuchung, tblKasse WHERE tblKursspielbuchung.Datum >= #2019/01/01# AND tblKursspielbuchung.Datum < #2020/01/01# GROUP BY Datum"例如,我收到的是 1460 而不是 730,这将是正确的答案。我只能想到有多个航班的成本可能是问题所在。当我总结它们时,我很难摆脱它们。如果有人能告诉我在这种情况下如何使用 distinct 或类似的东西,我将不胜感激。如果没有任何效果,我必须更改代码,以便我在多行中没有相同的成本。
查看完整描述

2 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

你可以像这样构建你的 SQL:


int year = int.Parse(txtJahr.Text);


"SELECT Datum, Sum(Kosten) FROM tblKursspielbuchung, tblKasse WHERE tblKursspielbuchung.Datum >= #" + new DateTime(year, 1, 1).ToString("yyyy'/'MM'/'dd") + "# AND tblKursspielbuchung.Datum < #" + new DateTime(year + 1, 1, 1).ToString("yyyy'/'MM'/'dd") + "# GROUP BY Datum";


查看完整回答
反对 回复 2022-10-15
?
四季花海

TA贡献1811条经验 获得超5个赞

在 MS Access 中,日期常量具有特殊的语法。我也强烈推荐JOIN。我怀疑你想要这样的东西:


SELECT ks.Datum, Sum(Kosten)

FROM tblKursspielbuchung as ks INNER JOIN

     tblKasse as k

     ON ks.Datum = k.Datum

WHERE ks.Datum >= #01/01/2019# AND 'ks.Datum < #01/01/2010#

GROUP BY ks.Datum;


查看完整回答
反对 回复 2022-10-15
  • 2 回答
  • 0 关注
  • 138 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信