|
Вычисление с датой
|
|||
---|---|---|---|
#18+
Имеется таблица с подсчётом. Пытаюсь сделать формулу "Итог = 1+2-3 + Итог Предыдущей даты." Что то вроде этого Код: plsql 1.
Но выдаёт нули. Может потому что DateAdd берет 14.08.2017 которого нет в таблице? Что можно сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2017, 12:36 |
|
Вычисление с датой
|
|||
---|---|---|---|
#18+
Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2017, 16:32 |
|
Вычисление с датой
|
|||
---|---|---|---|
#18+
sdku, а потом гляньте это(весь топик) 20906979 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2017, 18:05 |
|
Вычисление с датой
|
|||
---|---|---|---|
#18+
sdkusdku,..а потом гляньте это... Ух ты, не ждал ни гадал, что и мои примерные примеры, кто то будет в качестве примера приводить. Похоже пора возгордиться и дырку в футболке дырявить под орден. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2017, 09:24 |
|
Вычисление с датой
|
|||
---|---|---|---|
#18+
Select top 1 Итог FROM tbl where Дата < t.Дата order by Дата Desc Спасибо! Выдаёт нужный "Итог" предыдущей даты, но опять же, если дата 15.08.2017 присутствует, то везде выдаёт 0 (Null?). Объясню подробнее. Сейчас у меня стоит триггер, обновляющий поле Итог UPDATE tbl SET Итог = (SELECT (Sum(1) + Sum(2) - Sum(3)) FROM tbl Where Дата <= tbl.Дата) Он работает, но очень долго. Хочу избавиться от sum и пересчитывать только последние дни исходя из "Итога" предыдущего , но не могу добавить именно его. UPDATE tbl SET Итог = (SELECT (1 + 2 - 3 + (Select top 1 Итог FROM tbl where Дата < tbl.Дата order by Дата Desc)) FROM tbl Where Дата = tbl.Дата) Если ввести любую конкретную Дату вместо (...< tbl.Дата...), то считает на ура....кроме 15.08.2017 (#08/15/2017#) !!! Это ведь первый день в таблице, до него всё Null !? Отсюда вопрос, как поставить ограничение на Null в моём случае? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2017, 16:49 |
|
Вычисление с датой
|
|||
---|---|---|---|
#18+
Литвинюк Антон, а зачем хранить "итог"-ведь это вычисляемое значение и ему не место в таблице ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2017, 17:52 |
|
Вычисление с датой
|
|||
---|---|---|---|
#18+
Мне итог нужно хранить как минимум для статистики ) Получилось заставить правильно обновлять для текущего дня, что имеет свои неудобства. Код: plsql 1.
А если оставить where Дата < tbl.Дата то тут хоть > ставь, хоть < , всё будет NUll, потому что даты ограничены. Я правильно понял? Пытался дописать and Дата > #08/15/2017# всё-равно не помогает. Есть ли вообще способ запустить это дело? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2017, 11:32 |
|
Вычисление с датой
|
|||
---|---|---|---|
#18+
Литвинюк Антон Код: vbnet 1. 2.
найдите отличия и прочтите про использование дат ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2017, 12:46 |
|
Вычисление с датой
|
|||
---|---|---|---|
#18+
Что именно я должен понять из FAQ ? Если вы про написание "Текущая дата" - так это моя отсебятина. В моей БД рабочее название <CurrentDate> "датаНаКоторуюВычисляете" это и есть "Дата", т.е. where Дата < t.Дата как бы правильно, но даёт 0...Format вроде тут ни к чему. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2017, 14:34 |
|
Вычисление с датой
|
|||
---|---|---|---|
#18+
Литвинюк АнтонЧто именно я должен понять из FAQ ? ....Microsoft JET SQL оперирует датами в американском формате, т.е. именно в вышеуказанном виде Месяц/День/Год. Код: vbnet 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2017, 15:09 |
|
Вычисление с датой
|
|||
---|---|---|---|
#18+
Про американский формат я понял. Но ведь я сравниваю дату саму с самой ( where Дата < tbl.Дата ), формат у них одинаковый, разве нет? where Дата < format(Дата, #mm/dd/yyyy#) - не катит ... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2017, 16:24 |
|
Вычисление с датой
|
|||
---|---|---|---|
#18+
Литвинюк Антон, 1.Зря Вы не принимаете этот совет 20913059 (набьёте достаточное количество шишек согласитесь) 2.А какое значение Вы хотите увидеть для даты которой нет в таблице? (null-ничего другого быть не может-разве что отобразить 0) 3.И не обзывайте поля цифрой Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.10.2017, 18:34 |
|
|
start [/forum/topic.php?fid=45&msg=39543748&tid=1611954]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 17ms |
total: | 163ms |
0 / 0 |