
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
25.03.2014, 16:44:34
|
|||
|---|---|---|---|
Функция SUM() и Coalesce() как подружить ? |
|||
|
#18+
Здравствуйте гуру, помогите со следующим вопросом. Сам в огнептице не шибко силён. Можно ли в жарптице (вер. 2.1.5 Win32) создать алиасы для функции, а конкретно есть необходимость подмены SUM(tra-ta-ta) в ХП автоматом на Coalesce( SUM(tra-ta-ta) , 0) Годится если как то заменить SUM на например ZUM чтобы при этом выполнялась конструкция Coalesce(Sum(tra-ta-ta),0). Скриптом менять во всех ХП SUM на ZUM я научился. Дополнительно о задаче: Есть десятки FDB файлов в 5 филиалах, а предыдущий программер не знал (наверное) что SUM() возвращает Null если нет записей удовлетворяющих условиям в Where, в каждом FDB свой набор ХП и я обнаружил что в некоторых нет coalesce и следовательно результат будет непредсказуемым. Может есть глобальная установка при которой сервер сам присваивает ноль в результат. В основном Sum используются внутри конструкции for select. Заранее спасибо, тем кто высказал своё мнение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2014, 16:55:42
|
|||
|---|---|---|---|
|
|||
Функция SUM() и Coalesce() как подружить ? |
|||
|
#18+
AlexSemМожно ли в жарптице (вер. 2.1.5 Win32) создать алиасы для функции, а конкретно есть необходимость подмены SUM(tra-ta-ta) в ХП автоматом на Coalesce( SUM(tra-ta-ta) , 0) нет нельзя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2014, 16:57:05
|
|||
|---|---|---|---|
|
|||
Функция SUM() и Coalesce() как подружить ? |
|||
|
#18+
AlexSem, Придется огорить - для твоей версии - только скриптами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2014, 16:57:37
|
|||
|---|---|---|---|
Функция SUM() и Coalesce() как подружить ? |
|||
|
#18+
AlexSem а предыдущий программер не знал (наверное) что SUM() возвращает Null если нет записей удовлетворяющих условиям в Where, в каждом FDB свой набор ХП и я обнаружил что в некоторых нет coalesce и следовательно результат будет непредсказуемым. Может есть глобальная установка при которой сервер сам присваивает ноль в результат. В основном Sum используются внутри конструкции for select. Заранее спасибо, тем кто высказал своё мнение. Если нет записей удовлетворяющих условиям в Where то оно ничего не вернёт (если конечно там до кучи нет и COUNT()). И соотвественно если это цикл FOR то он просто "пропустится", если это просто SELECT то в переменной останется предыдущее значение. Так что простая замена может не дать ожидаемого результата ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2014, 16:59:40
|
|||
|---|---|---|---|
Функция SUM() и Coalesce() как подружить ? |
|||
|
#18+
AlexSemпредыдущий программер не знал (наверное) что SUM() возвращает Null если нет записей удовлетворяющих условиям в WhereЗаписей (кортежей) в этом случае просто не будет, так что одного coalesce тут недостаточно. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2014, 17:02:25
|
|||
|---|---|---|---|
Функция SUM() и Coalesce() как подружить ? |
|||
|
#18+
m7mЕсли нет записей удовлетворяющих условиям в Where то оно ничего не вернёт (если конечно там до кучи нет и COUNT()).count(*) поможет, если только туда не всунули group by :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2014, 17:36:59
|
|||
|---|---|---|---|
Функция SUM() и Coalesce() как подружить ? |
|||
|
#18+
Таблоидm7mЕсли нет записей удовлетворяющих условиям в Where то оно ничего не вернёт (если конечно там до кучи нет и COUNT()).count(*) поможет, если только туда не всунули group by :-) Ну да, COUNT() я зря приплел, group by тут более к месту, ибо SELECT sum() ... , без group by всегда вернет одну запись ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2014, 18:07:56
|
|||
|---|---|---|---|
Функция SUM() и Coalesce() как подружить ? |
|||
|
#18+
Thanx всем, мда, придётся скриптами + аналитику включить и тэги свои ставлять. А можно ещё вопросик, может существует ли в ЖП штатное что-то типа № версии ХП или дата изменения его тела, чтобы по нескольку раз не менять тело ХП. Если нет тогда придётся свои тэги-комментарии вставлять, например типа "--stp_version_control=2014" Всем ещё раз спасибочки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2014, 18:15:50
|
|||
|---|---|---|---|
Функция SUM() и Coalesce() как подружить ? |
|||
|
#18+
AlexSemсуществует ли в ЖП штатное что-то типа № версии ХП или дата изменения его теладо 2.5 включительно этого нету :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=40&tablet=1&tid=1563782]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
179ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 201ms |
| total: | 491ms |

| 0 / 0 |
