|
Запрос (В тупике) | ☑ | ||
---|---|---|---|---|
0
Homer
15.11.12
✎
12:07
|
есть сумма 29543.34 необходимо поделить на 162.17 и эту сумму(округленную до копеек) умножить на 15(кол дней, может меняться).
но на самом деле это сумма состоит из двух сумм. При попытки расчета не сходится сумма с оригиналом. как сделать ВЫБРАТЬ (ВЫРАЗИТЬ(25689.86 / 162.17 КАК ЧИСЛО(15, 2))) * 15.00 КАК Поле1, //2 376,15 (ВЫРАЗИТЬ(3853.48 / 162.17 КАК ЧИСЛО(15, 2))) * 15.00 КАК Поле2, //356,4 (ВЫРАЗИТЬ(29543.34 / 162.17 КАК ЧИСЛО(15, 2))) * 15.00 КАК Поле3 //2 732,7 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ (ВЫРАЗИТЬ(25689.86 / 162.17 КАК ЧИСЛО(15, 2))) КАК Поле1, //158,41 (ВЫРАЗИТЬ(3853.48 / 162.17 КАК ЧИСЛО(15, 2))) КАК Поле2, //23,76 (ВЫРАЗИТЬ(29543.34 / 162.17 КАК ЧИСЛО(15, 2))) КАК Поле3 //182,18 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 25689.86 / 162.17 * 15, 3853.48 / 162.17 * 15, 29543.34 / 162.17 * 15 29543.34 / 162.17 * 15 |
|||
1
Maxus43
15.11.12
✎
12:09
|
Тупик (в Запросе)
ничо не понял, но! в запросах без указания точной разрядности оптимизатор скуля может повести себя непредсказуемо, и сам cast наложит, и не такой как тебе надо |
|||
2
zulu_mix
15.11.12
✎
12:09
|
если б запрос умел стирать носки, ты бы всенепременно воспользовался этой фичей, да?
|
|||
3
МихаилМ
15.11.12
✎
12:11
|
сумма округлений не равна округлению суммы
|
|||
4
Homer
15.11.12
✎
12:12
|
поле1 + поле2 не равно поле3
|
|||
5
Sammo
15.11.12
✎
12:12
|
Во твором объединение где *15?
|
|||
6
Homer
15.11.12
✎
12:13
|
да это разные примеры, что бы наглядней было
|
|||
7
Classic
15.11.12
✎
12:15
|
(6)
Чет вообще не наглядно. (3) При определенных алгоритмах равна |
|||
8
Homer
15.11.12
✎
12:15
|
примеры расчета.
|
|||
9
shuhard
15.11.12
✎
12:15
|
(0)[ как сделать ]
ни как |
|||
10
Sammo
15.11.12
✎
12:15
|
(4) И? Ну не равно. В первых двух ошибки за счет округления
|
|||
11
Homer
15.11.12
✎
12:16
|
как сделать.
мне надо что бы (ВЫРАЗИТЬ(25689.86 / 162.17 КАК ЧИСЛО(15, 2))) * 15.00 КАК Поле1, //2 376,15 (ВЫРАЗИТЬ(3853.48 / 162.17 КАК ЧИСЛО(15, 2))) * 15.00 КАК Поле2, //356,4 был равен (ВЫРАЗИТЬ(29543.34 / 162.17 КАК ЧИСЛО(15, 2))) * 15.00 КАК Поле3 //2 732,7 |
|||
12
Sammo
15.11.12
✎
12:17
|
(ВЫРАЗИТЬ(25689.86 / 162.17 * 15 КАК ЧИСЛО(15, 2)))
Но все равно возможны копейки |
|||
13
Homer
15.11.12
✎
12:17
|
(12) есть сумма 29543.34 необходимо поделить на 162.17 и эту сумму(округленную до копеек)
|
|||
14
Homer
15.11.12
✎
12:18
|
и лишь потом умножить
|
|||
15
Лефмихалыч
15.11.12
✎
12:19
|
(0) погрешности, связанные с округлениями, будут всегда. Надо алгоритм писать так, чтобы он эти погрешности учитывал, а не об запрос головой биться
|
|||
16
Homer
15.11.12
✎
12:20
|
запрос 2000 строк как то не до этого было
|
|||
17
Homer
15.11.12
✎
12:21
|
до этого все работало, тут видимо цифры совпали неудачные
|
|||
18
Светлый Гений
15.11.12
✎
12:26
|
(0) никак
|
|||
19
Sammo
15.11.12
✎
12:28
|
(13) Вам чтобы сумма сходилась или "эту сумму, округленную"?
Как вариант, одну из сумм не персчитывайте, а берите как разность двух других. |
|||
20
drcrasher
15.11.12
✎
12:32
|
(0) НО ЗАЧЕМ?!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |