powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Функция sum?
11 сообщений из 11, страница 1 из 1
Функция sum?
    #39705392
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
SELECT MAIN.CODE, techproc.cm1, MAIN.COMMENT, MAIN.MARKA, matsuP.mqq, mun.measun
FROM..........
WHERE............
GROUP BY MAIN.CODE, techproc.cm1, MAIN.COMMENT, MAIN.MARKA, matsuP.mqq, mun.measun;


Беру я из этого запроса несколько строк с одинаковым MAIN.CODE, суммирую руками matsuP.mqq и получаю некую цифру

Убираю одно поле и ставлю sum
Код: sql
1.
2.
3.
4.
SELECT MAIN.CODE, MAIN.COMMENT, MAIN.MARKA, Sum(matsuP.mqq) AS [Sum-mqq], mun.measun
FROM..........
WHERE ........
GROUP BY MAIN.CODE, MAIN.COMMENT, MAIN.MARKA, mun.measun;


И в строке с нужным MAIN.CODE получаю бред - цифра на порядок больше посчитанной руками....
Что я делаю не так?
...
Рейтинг: 0 / 0
Функция sum?
    #39705397
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Причем, если я выберу другой MAIN.CODE,то там складывает правильно.....
...
Рейтинг: 0 / 0
Функция sum?
    #39705399
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще - формат mqq - двойное с плавающей точкой, и неправильно считает там где есть цифры после запятой, целые числа складывает правильно...
...
Рейтинг: 0 / 0
Функция sum?
    #39705405
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311цифра на порядок больше посчитанной руками....
А во FROM случайно нет ли нескольких таблиц? Видишь ли, если связываешь пару таблиц, и в каждой по 2 записи - в итоге ты получишь 4 записи, и сумма будет кратно увеличена.

Посему надо суммировать в подзапросе по одной таблице, а уж потом к ней привязывать остальные.

Serg197311формат mqq - двойное с плавающей точкой, и неправильно считает там где есть цифры после запятойReplace запятой на точку.
...
Рейтинг: 0 / 0
Функция sum?
    #39705408
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaА во FROM случайно нет ли нескольких таблиц? Видишь ли, если связываешь пару таблиц, и в каждой по 2 записи - в итоге ты получишь 4 записи, и сумма будет кратно увеличена.




Код: sql
1.
FROM (MAIN1 INNER JOIN (spztmp INNER JOIN techproc ON spztmp.cdtp = techproc.cm1) ON MAIN1.code = spztmp.codm1) INNER JOIN (mun INNER JOIN (MAIN INNER JOIN matsuP ON MAIN.CODE = matsuP.codm) ON mun.code = MAIN.Mun) ON techproc.code = matsuP.codetp
...
Рейтинг: 0 / 0
Функция sum?
    #39705409
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaПосему надо суммировать в подзапросе по одной таблице, а уж потом к ней привязывать остальные.

Ага..... Щас попробуем....
...
Рейтинг: 0 / 0
Функция sum?
    #39705444
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT Sum(matsuP.mqq) AS [Sum-mqq], MAIN.CODE
FROM MAIN INNER JOIN matsuP ON MAIN.CODE = matsuP.codm
WHERE (((matsuP.codetp) In (SELECT techproc.code
FROM techproc INNER JOIN (MAIN1 INNER JOIN spztmp ON MAIN1.code = spztmp.codm1) ON techproc.cm1 = spztmp.cdtp
WHERE (((MAIN1.sernn)=[Формы]![spzcr]![serc]))
GROUP BY techproc.code;)))
GROUP BY MAIN.CODE;


Асилел Спасибо Akina!
...
Рейтинг: 0 / 0
Функция sum?
    #39705479
Serg197311
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вопрос остался.... почему неправильный запрос правильно суммировал целые цифры.....
...
Рейтинг: 0 / 0
Функция sum?
    #39705508
Игортан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311,

они могли совпадать, тогда соединение получалось "правильно"
зависит все от уникальности всех строк
...
Рейтинг: 0 / 0
Функция sum?
    #39705541
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serg197311Еще - формат mqq - двойное с плавающей точкой, и неправильно считает там где есть цифры после запятой, целые числа складывает правильно...А двойное с плавающей точкой-это зачем?(разве что посчитать количество звезд в галактике,а то и во вселенной) Почитайте про этот тип и ответьте, себе в первую очередь, возможен ли, в принципе, точный результат с этим типом хоть в "правильном",хоть в "не правильном" запросе.
...
Рейтинг: 0 / 0
Функция sum?
    #39705556
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вернее не тип, а формат
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Функция sum?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]