Отрицательное значение в запросе

1. user1671936 1 12.03.24 08:43 Сейчас в теме
Коллеги, добрый день. Есть некий запрос postgre, поля Документ, Сотрудник, Номенклатура, Количество, Вес, Объем и куча других полей. По одному документу у определенного сотрудника объем выводится отрицательный, расчет в запросе "sum(doc.qty * prod.vol). Количество "sum(doc.qty)" = 0, prod.vol = 0.5. При этом если сделать в запросе "sum(doc.qty) * prod.vol", и prod.vol добавить в группировку, то объем при выводе все равно отрицательный. Делал условия, чтоб выводился только этот документ и этот сотрудник, все равно отрицательный объем на выходе получается. Убирал все поля, кроме Документ, Сотрудник, Количество, Объем, так же, количество 0, prod.vol 0.5 (позиция в документе одна), Объем на выходе отрицательный. Я не пойму, откуда берется отрицательный объем, если нет никаких отрицательных чисел в документе и объеме. Поделитесь, пожалуйста, если кто с подобным сталкивался, как отловить ошибку?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. booksfill 12.03.24 10:31 Сейчас в теме
Скажем у вас 2-е записи
qty vol
-2 10
2 1

sum(qty) = 0
sum(qty * vol) = -2*10 + 2* 1 = -18

В вашем варианте возможно минус в объеме - смысл тот же.
Ну не сворачивайте вы ничего, просто выведите эти поля по своему документу и сотруднику.
Да, я читал утверждение, что запись в документе 1, да еще и с кол-ом равным 0 - что-то подозрительно, но чудес не бывает.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот