Сумма SQL по нескольким таблицам - PullRequest
0 голосов
/ 07 марта 2019

Благодаря Густаву я намного ближе к решению моей проблемы.

Я использую его код, но он не может правильно суммировать.

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, что будет правильным ответом. Я могу думать только о том, чтобы иметь несколько строк для рейсов со стоимостью, может быть проблемой. У меня проблемы с избавлением от них, когда я их суммирую. Буду признателен, если кто-нибудь скажет мне, как использовать разные или что-то подобное в этой ситуации. Если ничего не работает, я должен изменить код, чтобы у меня не было одинаковой стоимости в нескольких строках.

Ответы [ 3 ]

0 голосов
/ 07 марта 2019

В 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;
0 голосов
/ 07 марта 2019

Вы можете построить свой 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";
0 голосов
/ 07 марта 2019

Часто проблема со сравнением дат заключается в том, что способ построения сравнения настраивает его для сравнения в виде строки, а не для сравнения в качестве даты. Я бы сделал преобразование даты, прежде чем вставить значение в строку выбора. Если сравнение происходит в MS ACCESS, вам нужно обернуть дату символом #, т.е. # date #

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...